Linux Centos8使用yum命令安装mysql8
1、下载并安装mysql的yum仓库
# 下载mysql yum仓库
sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm
# 安装mysql yum仓库
sudo rpm -ivh mysql80-community-release-el8-4.noarch.rpm
2、禁用冲突的mysql模块(可选)
如果之前装过mysql,现在重新安装报错,就需要执行这个命令
sudo yum module disable mysql
3、安装mysql服务
sudo yum install -y mysql-community-server
如果安装报错GPG密钥未正确导入或过期(Error: GPG check FAILED),可以禁用GPG检查(不推荐,仅用于测试)
sudo yum install -y --nogpgcheck mysql-community-server
安装完之后,可以执行以下命令查看mysql版本
mysql --version
4、启动mysql服务
# 启动mysql
sudo systemctl start mysqld
# 设置开机自启动
sudo systemctl enable mysqld
查看mysql服务的状态
5、获取临时密码并登录mysql
# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log
# 登录mysql
mysql -u root -p
6、修改mysql的登录密码
注意:修改密码时输入的ip是localhost,而不是当前服务器的实际ip,否则会报错:You must reset your password using ALTER USER statement before executing this statement.
注意:不能使用弱密码,否则会报错:Your password does not satisfy the current policy requirements
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Dxx@555555';
FLUSH PRIVILEGES;
7、开启远程连接,允许外部ip连接到当前服务器的mysql
登录mysql后执行的命令
use mysql;
# 修改 mysql 数据库中 root 用户的访问权限,允许其从任何主机(% 是通配符,表示任意主机)连接到 mysql 服务器
update user set user.Host='%' where user.User='root';
flush privileges;
exit;
8、开放防火墙3306端口(可选)
查看当前服务器防火墙状态
sudo systemctl status firewalld.service
如果当前服务器开启了防火墙,则需要执行以下命令
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload