一、环境介绍
Linux系统使用yum安装MySQL需要从网上下载MySQL的一系列组件,这个过程非常耗时且有下载中断的可能,如果想要快速安装MySQL,可以先在网上将MySQL的离线包下载下来传到系统内进行安装,本文以CentOS7和MySQL8.0.19为例讲解MySQL的快速安装和配置方法。
1、操作系统:CentOS7_x64
2、数据库版本:MySQL-8.0.19
离线包下载:mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
提取码:hgo7
二、安装MySQL-8.0.19
将MySQL压缩文件解压后得到如下rpm文件列表:
需要按顺序安装下列rpm包:
mysql-community-common-8.0.19-1.el7.x86_64.rpm
mysql-community-libs-8.0.19-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
mysql-community-client-8.0.19-1.el7.x86_64.rpm
mysql-community-server-8.0.19-1.el7.x86_64.rpm
安装命令:
rpm -ivh rpm包名
注意:
1、在安装mysql-community-libs这个包之前,需要将Linux自带的mariadb-libs包卸载掉,否则会导致安装失败:
rpm -qa | grep mariadb-libs*
rpm -e --nodeps mariadb-libs*
2、安装mysql-community-server-8.0.19-1.el7.x86_64.rpm时可能会报如下错误:
这是系统缺少了libaio和perl的原因,安装好不再报错:
yum -y install libaio perl
安装完成后启动MySQL并登录,验证是否安装成功:
systemctl start mysqld
cat /var/log/mysqld.log | grep password
mysql -uroot -p
enter password:
三、配置MySQL
1、MySQL初始密码较为复杂,难以记忆,首次登录后需要进行修改:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
2、开发MySQL连接权限,使其可被远程连接工具访问:
UPDATE mysql.user SET `Host`='%' WHERE User='root';
flush privileges;
如果没有开放连接权限,使用navicat等客户端连接数据库时会报如下错误:
3、还原密码验证插件,将MySQL8的密码认证插件由caching_sha2_password更换成mysql_native_password:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'passowrd';
如果没有更换插件,连接时会报如下错误:
4、防火墙放行3306端口,设置MySQL开机自启:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
systemctl enable mysqld