CenterOS 7 安装 MySQL

1、安装Mysqlhtml

一、查看是否安装Mysqlnode

[root@node-41 local]# rpm -qa | grep mysqlmysql

二、若是安装了Mariadb,可删除sql

yum remove mysql数据库

三、下载Mysql的repo源测试

[root@node-41 local]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmui

四、安装Mysql的yum源spa

[root@node-41 local]# yum -y install mysql57-community-release-el7-10.noarch.rpm插件

五、检查Mysql源是否存在code

[root@node-41 local]# yum list mysql-community-server

Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile

base: mirrors.aliyun.com

extras: mirrors.aliyun.com

updates: mirrors.aliyun.com Available Packages mysql-community-server.x8664 5.7.23-1.el7 mysql57-community

六、安装Mysql服务:

[root@node-41 local]# yum -y install mysql-community-server

Installed:
  mysql-community-libs.x86_64 0:5.7.23-1.el7            mysql-community-libs-compat.x86_64 0:5.7.23-1.el7            mysql-community-server.x86_64 0:5.7.23-1.el7           

Dependency Installed:
  mysql-community-client.x86_64 0:5.7.23-1.el7  mysql-community-common.x86_64 0:5.7.23-1.el7  perl.x86_64 4:5.16.3-292.el7         perl-Carp.noarch 0:1.26-244.el7          
  perl-Encode.x86_64 0:2.51-7.el7               perl-Exporter.noarch 0:5.68-3.el7             perl-File-Path.noarch 0:2.09-2.el7   perl-File-Temp.noarch 0:0.23.01-3.el7    
  perl-Filter.x86_64 0:1.49-3.el7               perl-Getopt-Long.noarch 0:2.40-3.el7          perl-HTTP-Tiny.noarch 0:0.033-3.el7  perl-PathTools.x86_64 0:3.40-5.el7       
  perl-Pod-Escapes.noarch 1:1.04-292.el7        perl-Pod-Perldoc.noarch 0:3.20-4.el7          perl-Pod-Simple.noarch 1:3.28-4.el7  perl-Pod-Usage.noarch 0:1.63-3.el7       
  perl-Scalar-List-Utils.x86_64 0:1.27-248.el7  perl-Socket.x86_64 0:2.010-4.el7              perl-Storable.x86_64 0:2.45-3.el7    perl-Text-ParseWords.noarch 0:3.29-4.el7 
  perl-Time-HiRes.x86_64 4:1.9725-3.el7         perl-Time-Local.noarch 0:1.2300-2.el7         perl-constant.noarch 0:1.27-2.el7    perl-libs.x86_64 4:5.16.3-292.el7        
  perl-macros.x86_64 4:5.16.3-292.el7           perl-parent.noarch 1:0.225-244.el7            perl-podlators.noarch 0:2.5.1-3.el7  perl-threads.x86_64 0:1.87-4.el7         
  perl-threads-shared.x86_64 0:1.43-6.el7      

Replaced:
  mariadb-libs.x86_64 1:5.5.56-2.el7                                                                                                                                         

Complete!

2、安装成功,接着就是设置Mysql啦

一、启动Mysql服务

[root@node-41 local]# systemctl start mysqld

二、查看Mysql状态和设置开机启动

[root@node-41 local]# systemctl status mysqld

 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-08-26 11:10:30 CST; 35s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1360 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1284 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1362 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─1362 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Aug 26 11:10:26 node-41 systemd[1]: Starting MySQL Server...
Aug 26 11:10:30 node-41 systemd[1]: Started MySQL Server.

[root@node-41 local]# systemctl enable mysqld

三、看到上一步中的提示说明Mysql服务已经启动了,不过此时想要链接MySQL,还得找到root用户密码

[root@node-41 local]# grep "password" /var/log/mysqld.log
2018-08-26T03:10:27.284801Z 1 [Note] A temporary password is generated for root@localhost: 2fjy,9I!ls_Z

四、链接数据库

[root@node-41 local]# mysql -uroot -p
Enter password: “输入上一步中的密码”

五、修改密码,若是不修改,这次链接不能作任何事

5.一、设置一个符合要求的密码

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

5.二、若是只是修改成一个简单的密码,会报如下错误:

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

这个其实与validate_password_policy的值有关。

validate_password_policy有如下取值:

Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,因此刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了本身测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值:

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

这些参数,默认值均为1,因此validate_password_length最小值为4,若是你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。以下所示:

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)

若是修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)

mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
|                                    1 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
|                                    2 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          6 |
+----------------------------+
1 row in set (0.00 sec)

固然,前提是validate_password插件必须已经安装,MySQL5.7是默认安装的。

那么如何验证validate_password插件是否安装呢?可经过查看如下参数,若是没有安装,则输出将为空。

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

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

5.三、完成上述的修改后,可设置简单密码为:

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

六、  由于安装了Yum Repository,之后每次yum操做都会自动更新,须要把这个卸载掉:
[root@node-41 local]# yum -y remove mysql57-community-release-el7-10.noarch

此时才算真正的安装成功了。

相关文章
相关标签/搜索