让我们一起来学习 MySQL 8.0 的安装与配置,机器环境为 CentOS7 64 位,安装方式为 yum 安装。
- 配置 yum 源
在 MySQL 官网中下载 yum 源 rpm 安装包:Download MySQL Yum Repository,因为没有专门的针对 CentOS 的版本,这里我们选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM。
sudo wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm
- 检查源是否安装成功
sudo yum repolist enabled | grep "mysql.*-community.*"
- 安装 MySQL
sudo yum -y install mysql-community-server
- 启动 MySQL,并检查 MySQL 的启动状态
sudo systemctl start mysqld sudo systemctl status mysqld
- 设置开机启动
sudo systemctl enable mysqld sudo systemctl daemon-reload
- 修改 root 本地登录密码
MySQL 安装完成之后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码。通过下面的方式找到 root 默认密码,然后登录 mysql 进行修改:
用默认的密码登录之后,修改本地登录密码sudo grep 'temporary password' /var/log/mysqld.log
注意:从 mysql5.7 以后默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须 包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassWord!';
- 添加远程登录用户
默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:create user jayden identified by 'jayden!spassword'; # 创建用户 grant all privileges on *.* to 'jayden'@'%'; # 分配权限 flush privileges; # 刷新权限
- 打开防火墙 3306 远程端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload
到此,MySQL 8.0 在 CentOS7 中已经安装完成,并且可以远程登录。