CentOS 7安装MySQL 5.7 community

安装mysql的yum源

mysql官方yum源下载rpm安装文件,

shell> wget  https://repo.mysql.com//mysql80-community-release-el7-2.noarch.rpm

之后安装该yum源的rpm

shell> sudo rpm -Uvh mysql80-community-release-el7-2.noarch.rpm

选择安装版本

查看下yum源里的mysql版本,注意默认是安装最新版本的

[chen@dbserver ~]$ yum repolist all | grep mysql

注意当前待安装的版本是最后一栏显示enabled:的版本,默认是8.0版本。需要修改版本的话通过yum-config-manager修改

[chen@dbserver ~]$ sudo yum-config-manager --disable mysql80-community
[chen@dbserver ~]$ sudo yum-config-manager --enable mysql57-community

如上面命令,关闭8.0版本,打开5.7版本,在检查下,发现mysql57-community已经是enabled:状态。

[chen@dbserver ~]$  yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community                  95
mysql-tools-community/x86_64      MySQL Tools Community                       84
mysql57-community/x86_64          MySQL 5.7 Community Server                 327

安装mysql

接下来直接用yum安装

[chen@dbserver ~]$ sudo yum install mysql-community-server

系统会选择安装刚才选择的版本进行安装,包括server、client、libs和common。

Public key for mysql-community-common-5.7.25-1.el7.x86_64.rpm is not installed
(1/5): mysql-community-common-5.7.25-1.el7.x86_64.rpm                            | 274 kB  00:00:00     
(2/5): mysql-community-libs-5.7.25-1.el7.x86_64.rpm                              | 2.2 MB  00:00:04     
(3/5): mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm                       | 2.0 MB  00:00:01     
(4/5): mysql-community-client-5.7.25-1.el7.x86_64.rpm                            |  24 MB  00:00:13     
(5/5): mysql-community-server-5.7.25-1.el7.x86_64.rpm                            | 165 MB  00:00:18     
--------------------------------------------------------------------------------------------------------
Total                                                                   7.7 MB/s | 194 MB  00:00:25  

启动mysql服务

在centos 7 版本中使用 systemctl工具管理服务,

  • 启动
[chen@dbserver ~]$ sudo systemctl start mysqld.service
  • 查看状态
[chen@dbserver ~]$ sudo systemctl status mysqld.service
  • 停止
[chen@dbserver ~]$ sudo systemctl status mysqld.service
  • 设为开机启动
[chen@dbserver ~]$ sudo systemctl enable mysqld.service

修改密码

查看系统安装时为root生成的默认密码

[chen@dbserver ~]$ sudo grep 'temporary password' /var/log/mysqld.log
2019-03-22T08:29:48.021611Z 1 [Note] A temporary password is generated for root@localhost: 5lQwE4zk&9wg

用临时密码登录后修改密码

[chen@dbserver ~]$ mysql -u root -p
[chen@dbserver ~]$  ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

修改密码策略

如果提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明密码过于简单无法修改,必须要修改密码策略。主要是修改强度和长度要求。

  • 输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看,
mysql> 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)
  • 设置密码的验证强度等级为LOW
mysql> set global validate_password_policy=LOW; 
Query OK, 0 rows affected (0.00 sec)

mysql> 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             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
  • 设置密码长度要求
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate_password%'; 
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| 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)

现在可以修改简单密码了。

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

密码参数说明

  1. validate_password_length 固定密码的总长度;
  2. validate_password_dictionary_file 指定密码验证的文件路径;
  3. validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
  4. validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
  5. validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
    关于 validate_password_policy 的取值:
    0/LOW:只验证长度;
    1/MEDIUM:验证长度、数字、大小写、特殊字符;
    2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
  6. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

允许远程连接

root用户默认不能从远程ip连接,否则报错:1130-host XXX. is not allowed to connect to this MySql server。需要修改用户表或授权

  • 方法1: 修改user表
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql >FLUSH PRIVILEGES; 
  • 方法2: 授权法
    例如,你想root使用mypassword从任何主机连接到mysql服务器的话。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
mysql>FLUSH PRIVILEGES; 

PS: 别忘记最后的FLUSH PRIVILEGES; 刷新先前的修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值