Linux普通用户安装MySQL数据库,mysql-5.7.24版本,ContOS8版本服务器

Linux普通用户安装mylsq,部分配置和问题使用root用户解决。
先检查是否有安装过mysql未卸载干净,查看MySQL、mariadb安装,有就卸载,本次安装在CentOS8上安装:

mysql-5.7.24-el7-x86_64 下载
提取码:wigp

先使用root用户登录,查看机器安装情况,并创建一个普通用户:

查看:

rpm -qa | grep mysql
rpm -qa | grep mariadb

若存在则卸载原来的:
rpm -e --nodeps 卸载名

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

添加mysql用户,并修改mysql用户的登陆密码:

useradd mysql
passwd mysql

在这里插入图片描述
编辑配置文件:

vi /etc/my.cnf

在这里插入图片描述

插入的内容如下:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
user=mysql
basedir=/home/mysql
datadir=/home/mysql/data
port=3306               
socket=/tmp/mysql.sock
pid-file=/tmp/mysql.pid
tmpdir=/tmp
skip_name_resolve = 1
symbolic-links=0
max_connections = 2000
group_concat_max_len = 1024000
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names = 1
explicit_defaults_for_timestamp=true
character-set-server = utf8
interactive_timeout = 120  
wait_timeout = 120
max_allowed_packet = 32M
binlog_cache_size = 4M
sort_buffer_size = 2M
read_buffer_size = 4M
join_buffer_size = 4M
tmp_table_size = 96M
max_heap_table_size = 96M
max_length_for_sort_data = 8096
key_buffer_size = 256M
query_cache_size = 256M
query_cache_type = 1
query_cache_limit = 50M
max_connect_errors = 20
thread_cache_size = 200
innodb_flush_log_at_trx_commit = 1
max_binlog_cache_size = 512M
max_binlog_size = 512M
read_rnd_buffer_size = 64M
bulk_insert_buffer_size = 128M

server-id = 25
log-error = /home/mysql/log/error.log
slow_query_log = 1
slow_query_log_file = /home/mysql/log/slow.log
long_query_time = 3
log-bin = /home/mysql/log/binlog
binlog_format = row
expire_logs_days = 7
log_bin_trust_function_creators = 1
relay-log = /home/mysql/log/relay-bin
relay-log-recovery = 1  
relay_log_purge = 1  

innodb_file_per_table = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 256M
innodb_log_files_in_group = 5
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_flush_neighbors = 0
innodb_flush_method = O_DIRECT
innodb_autoinc_lock_mode = 2
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_buffer_pool_size = 2G

transaction_isolation = READ-COMMITTED

以上步骤完成后,切换mysql用户:

su - mysql

用工具将mysql-5.7.24-el7-x86_64.tar.gz放入/home/mysql解压:

tar -zxvf mysql-5.7.24-el7-x86_64.tar.gz

在这里插入图片描述
将解压后的mysql-5.7.24-el7-x86_64文件内容全部移到/home/mysql文件夹下:

mv /home/mysql/mysql-5.7.24-el7-x86_64/* /home/mysql/

在这里插入图片描述
编辑mysql.server补充basedir和datadir路径:

vi /home/mysql/support-files/mysql.server

补充:
basedir=/home/mysql
datadir=/home/mysql/data
在这里插入图片描述
创建日志目录:

mkdir /home/mysql/log

在这里插入图片描述
进入bin目录:

cd /home/mysql/bin/

初始化MySQL:

./mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

在这里插入图片描述
配置ssl和rsa密钥:

./mysql_ssl_rsa_setup  --datadir=/home/mysql/data

在这里插入图片描述
编辑mysql命令配置:

vi ~/.bash_profile

在最下面加上:
export PATH=$PATH:/home/mysql/bin
在这里插入图片描述
刷新配置:

source ~/.bash_profile

切换root用户拷贝mysql启动脚本文件到/etc/init.d/目录:

su - root
cp /home/mysql/support-files/mysql.server /etc/init.d/mysql

在这里插入图片描述
切换回mysql用户,在日志中查看数据库root用户的初始密码:

su - mysql
cat /home/mysql/log/error.log

在这里插入图片描述
启动:

service mysql start

在这里插入图片描述
使用数据库root用户登录,密码即日志中查看的初始密码:

mysql -uroot -p

如果遇到以下问题:
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
在这里插入图片描述
方法1:
联网状态或者有yum源可以直接安装缺少的包:

yum install libncurses* -y

方法2:
在离线或者没有yum源的情况下使用:

切换root用户:

su - root
cp /lib64/libncurses.so.6 /lib64/libncurses.so.5

或者软连接

ln -s /lib64/libncurses.so.6 /lib64/libncurses.so.5

在这里插入图片描述
还有可能出现如下问题:
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
在这里插入图片描述
切换root用户:

su - root
cp /lib64/libtinfo.so.6 /lib64/libtinfo.so.5

或者软连接

ln -s /lib64/libtinfo.so.6 /lib64/libtinfo.so.5

在这里插入图片描述
切换回mysql用户,继续登录:

su - mysql
mysql -uroot -p

在这里插入图片描述
登录成功后,修改密码:

set password=password("root123");
update mysql.user set authentication_string = password("root123") where user='root';

在这里插入图片描述
刷新配置:

flush privileges;

在这里插入图片描述
授权外部可视化工具连接登录:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root123' WITH GRANT OPTION;

在这里插入图片描述
刷新配置:

flush privileges;

在这里插入图片描述
若可视化工具无法连接,查看一下是否是防火墙的问题:
查看防火墙状态
systemctl status firewalld.service
临时启用防火墙
systemctl start firewalld.service
临时关闭防火墙
systemctl stop firewalld.service
开机禁用防火墙
systemctl disable firewalld.service
开机启动防火墙
systemctl enable firewalld.service

----------------------------------------------分割线----------------------------------------------
使用MySQL数据库root用户登录,新增数据库普通用户:

 mysql -uroot -p
CREATE USER 'mysql'@'localhost' IDENTIFIED BY 'mysql123';

在这里插入图片描述
更新密码:

update mysql.user set authentication_string = password("mysql123") where user='mysql';

在这里插入图片描述

授权外部可视化工具连接登录:

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%'IDENTIFIED BY 'mysql123' WITH GRANT OPTION;

在这里插入图片描述
刷新配置:

flush privileges;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41619841/article/details/123083464