为了提高调试的便利性以及服务器的性能,在本地搭建服务器用于平时的开发使用。
系统:CentOS 7
MySQL 版本:8.0.21
卸载历史版本 MySQL
查看是否拥有历史版本
非首次安装需卸载历史版本 MySQL,命令查看是否有安装 MySQL 历史版本组件
1 | rpm -qa|grep mysql |
如有,在安装新版本 MySQL 前需要移除已安装的历史组件
查看 MySQL 服务状态
1 | service mysqld status |
暂停 MySQL 服务
1 | service mysqld stop |
卸载 MySQL 服务
需要把每个组件全部移除,注意可能会有组件的依赖前后顺序。
1 | rpm -ev [需要移除组件的名称] |
安装 MySQL
使用 rpm 来安装 MySQL
因为 CentOS 7 默认安装的数据库是 Mariadb, 所以使用 yum 命令是无法安装 MySQL 的,只会更新 Mariadb。使用 rpm 来进行安装。可以在 MySQL 的 repo 源仓库右键复制指定版本的数据库。
1 | wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm |
安装 mysql80-community-release-el7-1.noarch.rpm 包
1 | sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm |
安装完成后会在 /etc/yum.repos.d
文件夹里面获得两个文件:mysql-community.repo
&& mysql-community-source.repo
使用 yum 安装 mysql 服务
1 | sudo yum install mysql-server |
显示 Complete! 说明安装成功
设置开机启动 MySQL 服务
1 | systemctl list-unit-files|grep mysqld |
如果显示
则表示已经设置为开机启动,如果没有设置为开机启动则执行
1 | systemctl enable mysqld.service |
查看 MySQL 是否启动未启动则执行启动服务命令
1 | 查看是否启动MySQL服务 |
1 | 启动服务 |
初始化 MySQL
1 | mysqld --initialize |
查看 MySQL 初始默认密码
1 | grep 'temporary password' /var/log/mysqld.log |
使用默认密码登录 MySQL
根据 MySQL8.0 的要求,必须要重置密码(生产环境禁止使用弱口令)
1 | alter user 'root'@'localhost' identified by '12345678'; |
如果设置密码时候出现提示
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
代表需要降低 Policy 的等级后再执行,或者增加密码的强度
1 | set global validate_password.policy=0; |
开启 MySQL 远程连接
1 | use mysql; |
用户授权
1 | GRANT ALL PRIVILEGES ON *.* TO ['root'@'%'](mailto:'root'@'%') IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH PRIVILEGES; |
修改系统防火墙配置
CentOS 7 默认不再使用 iptables 来管理防火墙,而是使用自带的 firewall
查看 firewall 服务状态
1 | systemctl status firewalld |

查看 firewall 的状态
1 | firewall-cmd --state |

开启、重启、关闭、firewalld.service 服务
1 | # 开启 |
查看防火墙规则
1 | firewall-cmd --list-all |

查询、开放、关闭端口
1 | # 查询端口是否开放 |
现在就可以通过 Navicat
等工具远程连接数据库进行操作了~