CentOS7安装配置MySQL

为了提高调试的便利性以及服务器的性能,在本地搭建服务器用于平时的开发使用。

系统: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
2
3
rpm -ev [需要移除组件的名称]
或者
rpm -e --nodeps [需要移除组件的名称] //此命令为强制卸载

安装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

如果显示

image-20200901233512876

则表示已经设置为开机启动,如果没有设置为开机启动则执行

1
systemctl enable mysqld.service

查看MySQL是否启动未启动则执行启动服务命令

1
2
3
4
5
查看是否启动MySQL服务
ps -ef|grep mysql

启动服务
systemctl start mysqld.service

初始化MySQL

1
mysqld --initialize

查看MySQL初始默认密码

1
grep 'temporary password' /var/log/mysqld.log

image-20200901233554485

使用默认密码登录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
2
3
4
5
use mysql;
#修改root账户权限
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;

用户授权

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
image-20200902163103878

查看firewall的状态

1
firewall-cmd --state
image-20200902163402606

开启、重启、关闭、firewalld.service服务

1
2
3
4
5
6
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

查看防火墙规则

1
firewall-cmd --list-all
image-20200902163555142

查询、开放、关闭端口

1
2
3
4
5
6
7
8
9
10
11
12
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放端口(以80端口为例)
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

现在就可以通过Navicat等工具远程连接数据库进行操作了~

本文标题:CentOS7安装配置MySQL

文章作者:Pwner

发布时间:2020年09月01日 - 23:09

最后更新:2020年09月02日 - 16:09

原始链接:https://pwner.cn/posts/f450c0b5.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Buy me a cup of coffee.