一、准备工作

1、mysql5.7-linux版本安装包
在这里插入图片描述
2、连接linux服务器,检查依赖

    rpm -qa|grep libaio 
    rpm -qa|grep net-tools

mysql安装需要这两项依赖,需要先检查是否存在。
新服务器的话,很有可能缺少这两项依赖。
可以通过yum方式安装,若是没有配置yum源,则需要提前下载安装包,通过rpm方式安装。

二、安装步骤

1、上传mysql安装包。
并且创建安装目录,mysql文件夹。

    mkdir mysql

2、解压mysql的压缩包**

    tar xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar -C mysql/

-C 表示解压到指定的目录

3 查找Mysql的MariaDB依赖

    rpm -qa|grep mariadb

若是有,需要卸载。

    rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps

CentOS7默认安装MariaDb,必须要检查是否已经卸载。

4 依次安装mysql的rpm包(common,libs,client,server)

    rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm 	
    rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm 	
    rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm 
    rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm --force --nodeps 	

mysql5.7的安装包解压后会有很多包,安装这四个即可。
一定要依次安装,顺序不要乱。

5 启动mysql

    service mysqld start

6 查找初始密码

    vim /var/log/mysqld.log 

或者

    grep password /var/log/mysqld.log

7、连接mysql

    mysql -u root -p

连接之后第一件事是修改密码。

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Javasm123!';

注意:mysql的密码策略无法修改简单的密码,密码必须要包含大小写字母、数字和特殊字符。

8、修改mysql访问权限

首先进入mysql数据库。

    use mysql; 

然后更改用户的访问权限(%代表任何地址都可以访问)

    update user set host='%' where user = 'root'; 		

最后刷新权限缓存,立即生效

    flush privileges; 

9、 防火墙开启需要把3306加入白名单

服务器防火墙开启的情况下,必须要让防火墙开启myslq的3306端口,其他服务器上的应用才能成功连接。

    firewall-cmd --permanent --zone=public --add-port=3306/tcp #防火墙开启端口
	firewall-cmd --reload  #重启防火墙
	firewall-cmd --query-port=3306/tcp #检查端口是否开启

或者直接关闭服务器的防火墙。

   systemctl status firewalld #查看防火墙状态
   systemctl stop firewalld #临时关闭
   systemctl disable firewalld #永久关闭,即设置开机的时候不自动启动

至此安装完成。

三、可能会遇到的问题:

1、Mysql修改密码。
mysql默认的密码策略,所修改的密码必须要包含大小写字母、数字和字符,过于简单密码无法设置。

密码策略报错问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

想要设置简单的密码,需要先修改密码策略。
查看密码策略:

 show variables like 'validate_password%'

修改策略:
①设置弱口令,修改完后只验证密码长度。

  set global validate_password_policy=0;

②修改密码长度策略

 set global validate_password_length=1

注意:validate_password_length参数默认为8,它有最小值的限制,最小值为4,如果你修改validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

2、Mysql修改连接数。
部署完成后,使用没多久,发现应用出现无法连接mysql的问题,报出Too many connections的异常信息。
首先连接到mysql:

mysql -u root -p 

查看连接数:

show processlist;

可以发现有很多连接处于sleep状态,这些其实是暂时没有用的,所以可以kill掉,但这太麻烦也解决不了问题。

查看mysql默认的最大连接数:

show variables like "max_connections";

显示的结果应该是与上面查询到的连接数相同,才会出现too many connections的情况。

可以通过修改mysql的默认连接数来解决这个问题。

set GLOBAL max_connections=1000;

这条命令可以修改最大连接数,但是这只是临时修改,重启后会恢复原来的默认值。

永久修改需要修改配置文件:

 vi  /etc/my.cnf

编辑mysql的配置文件,增加一行配置:

 max_connections=1000

随后保存,退出,重启mysql:

 service mysql restart

重启完成后,问题解决。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐