一.卸载已经安装的mysql(卸载mysql前注意备份数据和表结构):
1.找到已经安装的mysql包
rpm -qa | grep mysql
依次执行下面命令进行卸载,xxxxx为包名
yum remove xxxxxxx
2.找到残留文件夹,进行删除
find / -name mysql
一般删除下面几个目录即可
/var/lib/mysql
/var/lib/mysql/mysql
/usr/share/mysql
/etc/my.cnf
/etc/my.cnf.d
二.安装mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
安装mysql服务(mysql官方提供的repo文件/etc/yum.repos.d/mysql-community.repo包含所有历史版本的repo地址,只需要将特定版本进行enable即可。这里将8.0的repo禁用,然后启用5.7即可使用,大部分情况不需要调整,enable=1为启用,enable=0为禁用):
yum -y install mysql-community-server
三.mysql基础设置
1.找到临时密码
grep 'temporary password' /var/log/mysqld.log
2.登录后更改root密码,创建远程访问用户和权限
mysql -u root -p
set password for 'root'@'localhost' = password("blog51cto#123");
这里注意,由于高版本mysql对password的字段有调整,或许新的版本用的是authentication_string。
3.创建用户并配置权限:
grant all privileges on *.* to 'cnadmin'@'%' identified by 'cnadmin##$' with grant option;
flush privileges;
4.启动服务和配置防火墙
启动mysql服务:
systemctl restart mysqld
查看启动状态:
systemctl state mysqld
设置开机启动:
systemctl enable mysqld
systemctl daemon-reload
配置防火墙开放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
查看防火墙开放端口列表:
firewall-cmd --list-ports
四.对于基本的mysql配置
优化的可以自行查询,主要开始配置注意下编码:
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
五.安装问题
1.对于yum -y install mysql-community-server的时候,有时候会提示
Error:Unable to find a match: mysql-community-server
先禁用本地的 MySQL 模块一路y,再尝试安装即可
yum module disable mysql
2.仓库 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包
2.1.第一种方法可以尝试跳过验证,直接安装:
yum install -y mysql-community-server --nogpgcheck
2.2.第二种方法从官网下载验证文件:
清理下缓存目录:
yum clean packages
删除当前服务器的rpm的mysql验证配置:
rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
下载官网新的验证文件:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再次安装:
yum install -y mysql-community-server
3.更改密码时提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
可以查看下密码验证等级:
SHOW VARIABLES LIKE 'validate_password%';
降低密码等级:
set global validate_password_policy=LOW;