网上许多安装教程(忽略表名大小写、移动默认数据目录)有坑,经过成功实践,提炼精简安装步骤如下:
1. 准备安装环境
/*如果有mariadb的先卸载 */
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps
/* 禁止SELINUX */
vi /etc/selinux/config
SELINUX=disabled
/* 安装mysql-community-server依赖 */
yum install libaio*
2. rpm安装 mysql8.0.26
从官网下载安装包 mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar ,
将安装包上传至 /root文件夹,解压到 /root/mysql文件夹。
注意rpm安装时一定不要加参数--nodeps --force !!! 如果缺少依赖文件,根据提示安装相关依赖。
cd /root
mkdir mysql
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql/
cd mysql
ll
/* 按照依赖顺序依次安装:*/
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
/* 查看是否安装成功 */
mysqladmin --version
3. 设置大小写不敏感、数据目录
在没有启动mysql服务的情况下,删除数据目录 /var/lib/mysql,修改配置my.cnf文件:设置大小写不敏感、修改数据目录。
rm -rf /var/lib/mysql
vi /etc/my.cnf
[mysqld]
datadir=/volumedata/mysql
socket=/volumedata/mysql/mysql.sock
lower_case_table_names=1
[client]
socket=/volumedata/mysql/mysql.sock
4. 启动服务,修改root密码
启动service mysqld start后,会根据my.cnf重建数据目录。
service mysqld start
/* 从日志文件查看初始密码 */
cat /var/log/mysqld.log | grep root@
mysql -uroot -p
-- 修改密码符合复杂性要求
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Ot******!@';
exit;
-- 重新登录mysql 建立远程账户
create user 'root'@'%' identified with mysql_native_password by 'Ot******!@';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
-- 查询有关系统变量,验证修改的配置参数
show variables like 'datadir';
show variables like 'lower_case%';