MySQL安装


MySQL安装

一、yum方式安装MySQL 5.7

CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变:

1、下载mysql的源

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

2、安装yum库

yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

3、安装MySQL

yum install -y mysql-community-server

4、启动MySQL服务

systemctl start  mysqld
systemctl status  mysqld

5、进入mysql并修改默认密码

(1)获取初始化密码

此时MySQL已经开始正常运行,不过MySQL5.7加强了root用户的安全性,因此在第一次安装后会初始化一个随机密码,如果要想进入MySQL还得先找出root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@localhost ~]# grep "password" /var/log/mysqld.log
2020-07-02T06:53:24.714760Z 1 [Note] A temporary password is generated for root@localhost: rfH2e?6igi%T
(2)登录mysql
[root@localhost ~]# mysql -uroot -p
(3)修改原始密码

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这里有个问题,新密码设置的时候如果设置的过于简单会报错,原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关。

MySQL完整的初始密码规则可以通过如下命令查看:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | ON   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 8     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

通过如下命令修改:

set global validate_password_policy=0;
set global validate_password_length=4;

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

然后退出后即可用新密码登录。

(4)远程连接授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
(5)开通端口(默认3306)
firewall-cmd --add-port=3306/tcp

6、禁止yum库自动更新

此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-7.noarch

此时才算真的完成了。


文章作者:Echo
版权声明:本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Echo !
  目录