赞
踩
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;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。