MySQL的线上环境安装,建议采取编译安装的方式,对性能会有较大的提升。源码包的编译参数会默认以Debug模式生成二进制代码,而Debug模式给MySQL带来的性能损失是比较大的,所以当我们编译准备安装的产品代码时,一定不要忘记使用--without-debug参数禁止Debug模式。如果把--with-mysqld-ldflags和--with-client-ld-flags两个编译参数设置为--all-static的话,可以告诉编译器以静态的方式编译,编译结果将得到最高的性能。使用静态编译和使用动态编译的代码相比,性能差距可能会达到5%至10%之多。
CentOS版本:7.7.1908
MySql版本:8.0.18
1、下载MySql的YUM Repository
wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
5.7版本:mysql57-community-release-el7-11.noarch.rpm
或者进入官网选择自己想要的:https://dev.mysql.com/downloads/repo/yum/
安装wget命令:yum -y install wget
2、安装MySql 源
yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
或者:yum -y install mysql80-community-release-el7-3.noarch.rpm
验证是否安装成功:yum repolist enabled | grep "mysql.*-community.*"
可通过此文件修改安装的mysql版本:vim /etc/yum.repos.d/mysql-community.repo【可忽略】
3、安装MySql
yum -y install mysql-community-server
4、启动MySql服务并设置开机启动
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
5、修改MySql root登录密码
5.1 修改配置文件的密码加密规则,只需把前面的#去掉,然后重启mysql :vi /etc/my.cnf
重启mysql:systemctl restart mysqld
5.2 如果想把mysql密码等级降低,在my.cnf中加入并重启mysql:validate_password.policy=LOW
5.3 查看当前密码:grep 'temporary password' /var/log/mysqld.log
5.4 登录mysql后:mysql -u root -p ; 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
有可能会报错新密码等级不够安全:Your password does not satisfy the current policy requirements
这个时候需要将按照这个密码等级设置一个符合要求的新密码,然后修改密码等级配置,再修改成简单的密码。
a、查看密码安全级别设置:SHOW VARIABLES LIKE 'validate_password%';
b、可以将密码安全等级设低:set global validate_password.policy=LOW;
密码安全等级:
LOW:只验证长度;
MEDIUM:验证长度、数字、大小写、特殊字符;
STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6、防火墙开放端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
7、使用SQLyog远程工具链接报错处理
7.1、错误信息:Host '192.168.87.1' is not allowed to connect to this MysQL server
a、查看root用户信息发现host默认是localhost:select host,user from mysql.user where user = 'root';
b、修改root的host为%:update mysql.user set Host='%' where User='root';
c、刷新权限:FLUSH PRIVILEGES;
7.2、错误信息:Client does not support authentication protocol requested by server; consider upgrading MySQL client
MySQL8 之前的版本中加密规则是mysql_native_password,而在MySQL8之后,加密规则是caching_sha2_password
a、修改数据库用户root的加密规则:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
b、刷新权限:FLUSH PRIVILEGES
8、卸载MySQL
1、查询安装的软件包:yum list installed mysql*
2、卸载上面查出的包:yum remove mysql-community-client mysql-community-common mysql-community-libs mysql-community-libs-compat mysql-community-server mysql80-community-release