1、下载安装包

sudo wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

1774108364716

2、开始安装

sudo yum -y install mysql57-community-release-el7-10.noarch.rpm

3、安装服务端

sudo yum -y install mysql-community-server

1774108286010

安装过程中出现以上报错情况(不同的环境可能不太一样),可参考如下解决方法:

  • 报错1

    错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda) 需要:mariadb-server 正在删除: 1:mariadb-server-5.5.68-1.el7.x86_64 (@anaconda) mariadb-server = 1:5.5.68-1.el7 取代,由: mysql-community-server-5.7.41-1.el7.x86_64 (mysql57-community) 未找到 您可以尝试添加 --skip-broken 选项来解决该问题

    解决办法:

    sudo yum -y remove mariadb-libs

  • 报错2

    失败的软件包是:mysql-community-server-5.7.41-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    解决办法:

    sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

    1774108580806

    显示Complete则表示服务安装成功!

4、MySQL数据库设置

4.1、启动服务

sudo systemctl start mysqld.service

4.2、查看MySQL运行状态,运行状态如图

sudo systemctl status mysqld.service

1774108679728

4.3、 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码

sudo grep "password" /var/log/mysqld.log

1774108798870

4.4、 登录数据库

sudo mysql -uroot -p

4.5、修改默认密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

  • 注: 其中 new password 替换成自己的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),不然不能配置成功

  • 错误1

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

    是因为密码的复杂度不符合默认规定,如下命令查看mysql默认密码复杂度

    查看密码设置策略:mysql> SHOW VARIABLES LIKE 'validate_password%';

    1774109405044

    如需修改密码复杂度参考如下命令:

    mysql> set global validate_password_policy=LOW; //设置低策略

    mysql> set global validate_password_length=6; //设置密码长度

4.6、开启mysql的远程访问

执行以下命令开启远程访问限制(注意:密码要写对 要不然远程链接不上 下面命令开启的所有的,如要开启单个的,用IP代替%)

mysql> grant all privileges on *.* to root@'%' identified by 'new password' with grant option;

  • 注:其中 new password 改成自己的密码;

然后再输入下面两行命令

mysql> flush privileges;

img

4.7、开启防火墙端口,CentOS为firewalld添加开放端口3306

退出到系统命令行,设置防火墙放通端口

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent //开放3306端口

sudo firewall-cmd --reload //重载防火墙配置

4.8、更改mysql的语言

重新登陆MySQL,参考步骤4.4

查询状态

mysql> status

1774109467855

退出mysql,然后修改/etc目录下的my.cnf文件为latin1我utf8的格式

sudo vim /etc/my.cnf

增加以下4行内容

[client] default-character-set=utf8

character-set-server=utf8 collation-server=utf8_general_ci

1774109568387

保存更改后的my.cnf文件后,重启下mysql,然后输入status再次查看

sudo service mysqld restart //重启mysql服务

1774109618922

5、开机自启动

5.1、查看是否是开机自启动

sudo systemctl list-unit-files | grep mysqld.service

默认为 enabled 即为自启动,disabled 为非自启动

1774109653987

5.2、 设置为开机自启动

sudo systemctl enable mysqld.service

到此CentOS7安装Mysql5.7完毕 !