linux安装mysql5.7

Scroll Down

安装

环境检查

1.检查是否安装过mysql

rpm -qa | grep mysql

如果安装过,进行删除

rpm -e --nodeps xxx

2.检查文件夹残留

whereis mysql
find / -name mysql

如果有,rm -rf删除

yum方式安装

1.下载官方yum repository

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

2.安装rpm包

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

3.安装mysql

yum -y install mysql-community-server

4.开启mysql服务

service mysqld start

5.查看mysql服务状态

service mysqld status

指定版本安装

1.下载rpm包

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装rpm包

yum -y install mysql80-community-release-el7-3.noarch.rpm
或
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

3.查看仓库中的mysql版本

yum repolist all | grep mysql

4.换成想要安装的版本

yum-config-manager --disable mysql80-communityyum-config-manager --enable mysql57-community

或修改/etc/yum.repos.d/mysql-community.repo,把指定版本的开关开启,enabled=1为开,0为关。

5.安装mysql

yum install mysql-community-server

6.开启mysql服务

service mysqld start

7.查看mysql服务状态

service mysqld status

配置账号

修改密码

1.首次安装mysql,需要从日志中获取root账号的密码。

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

2020-08-05T15:15:18.184375Z 1 [Note] A temporary password is generated for root@localhost: JWvsDf#d2=.e

2.使用root账号登录

mysql -uroot -p

3.修改root密码,有强度要求,包含大小写数字符号,8位以上。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mima123.';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

4.如果嫌弃规则太复杂,可以修改密码强度校验规则。

SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
  • 临时修改方式:
-- 去除大小写数字符号
SET GLOBAL validate_password_policy=0;
-- 最小长度设置为5
SET GLOBAL validate_password_length=5;

密码由密码校验插件的VALIDATE_PASSWORD_STRENGTH()函数进行评估,以下为validate_password_policy的规则。
image.png

  • 永久修改方式
    在配置文件/etc/my.cnf的[mysqld]下添加配置:
[mysqld]

#去除大小写数字符号
validate_password_policy=0
#最小长度设置为5
validate_password_length=5

保存文件,重启mysql服务后,配置生效。

service mysqld restart

再修改用户密码。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

放开外网访问

1.查询用户

select User,authentication_string,Host from user;

+---------------+-------------------------------------------+-----------+
| User          | authentication_string                     | Host      |
+---------------+-------------------------------------------+-----------+
| root          | *aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | localhost |
| mysql.session | *bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | localhost |
| mysql.sys     | *cccccccccccccccccccccccccccccccccccccccc | localhost |
+---------------+-------------------------------------------+-----------+
3 rows in set (0.00 sec)

2.新增一个host为%的root用户,%为所有地址都可访问。

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

3.刷新缓存

FLUSH PRIVILEGES;

4.打开3306端口

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