CentOS7下MySQL(Percona-Server-5.7)安装及简单使用

本文介绍MySQL衍生版本Percona-Server-5.7的安装及使用。
CentOS7下建议使用较高版本的Percona-Server!!!

1、下载及安装

下载Percona-Server-server-57-5.7.32,下载地址如下:https://www.percona.com/downloads/Percona-Server-5.7/

1
wget https://downloads.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.32-35/binary/redhat/7/x86_64/Percona-Server-5.7.32-35-r5688520-el7-x86_64-bundle.tar

下载成功后解压:

1
tar -xvf Percona-Server-5.7.32-35-r5688520-el7-x86_64-bundle.tar

解压后的文件如下:

只需安装其中4个:

Percona-Server-server-57-5.7.32-35.1.el7.x86_64.rpm
Percona-Server-shared-57-5.7.32-35.1.el7.x86_64.rpm
Percona-Server-client-57-5.7.32-35.1.el7.x86_64.rpm
Percona-Server-shared-compat-57-5.7.32-35.1.el7.x86_64.rpm

rpm安装:

1
rpm -ivh Percona-Server-server-57-5.7.32-35.1.el7.x86_64.rpm Percona-Server-shared-57-5.7.32-35.1.el7.x86_64.rpm Percona-Server-client-57-5.7.32-35.1.el7.x86_64.rpm Percona-Server-shared-compat-57-5.7.32-35.1.el7.x86_64.rpm

注意:如果目标机器安装过mariadb-libs,那么会它与PerconaMySQL产生冲突,则需要删除mariadb-libs:

1
yum -y remove mariadb-libs

删除mariadb-libs后,再执行安装命令:

出现上述信息说明安装成功!

2、简单使用

1、启动mysql

1
service mysql start

CentOS7的上如果没有service命令,那么可以直接用systemctl命令替代。

1
systemctl start mysql

其他命令语法:systemctl start|stop|restart|status mysql。

执行启动命令后,可以使用ps命令查看mysql进程:

PerconaMySQL通过rpm方式安装后,会自动添加到开机启动项中,如果执行reboot命令重启机器,能直接看到MySQL进程是处于启动状态的。

mysqld进程的日志文件为/var/log/mysqld.log,里面记录的所有的启停过程,及临时密码。

2、查看临时密码

1
tail -fn500 /var/log/mysqld.log | grep 'A temporary password is generated for root@localhost';

3、登录mysql

1
mysql -uroot -p临时密码

4、修改root密码

1
set password for root@localhost = password('123456');

如果报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。

密码不符合要求。当然生产环境密码尽可能复杂些,线下自己安装测试可以简单点。

解决办法:

1
2
set global validate_password_policy=LOW;
set global validate_password_length=6;

关于 mysql 密码策略相关参数;

1)validate_password_length 固定密码的总长度;

2)validate_password_dictionary_file 指定密码验证的文件路径;

3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;

4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;

5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;

关于 validate_password_policy 的取值:

0/LOW:只验证长度;

1/MEDIUM:验证长度、数字、大小写、特殊字符;

2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

密码调整后,使用新密码登录。

5、查看数据库

1
show databases;

6、查看数据库表

1
2
use mysql;
show tables;

7、查看表数据

1
select Host, User, authentication_string from user;

3、客户端连接mysql

首先确认3306端口是否开放:

1
firewall-cmd --query-port=3306/tcp

如果返回no,则使用如下命令开放3306端口:

1
firewall-cmd --permanent --add-port=3306/tcp

之后使用如下命令重启防火墙:

1
firewall-cmd --reload

一般情况下都是不允许远程访问的。

使用如下命令允许远程客户端访问mysql:

1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

其中”.“代表所有资源所有权限, ‘root‘@%其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY ‘123456’,这个123456是指访问密码。WITH GRANT OPTION允许级联授权。
或者执行SQL:

1
2
use mysql;
update user set host='%' where user='root';

接着再刷新访问权限表(一定不要忘记,否则不生效):

1
FLUSH PRIVILEGES;

然后再使用Navicat、DataGrip等客户端,即可连接mysql。


CentOS7下MySQL(Percona-Server-5.7)安装及简单使用
https://river106.cn/posts/d5fe3da6.html
作者
river106
发布于
2021年1月2日
许可协议