第一步:獲取mysql YUM源
進入mysql官網獲取RPM包下載地址
https://dev.mysql.com/downloads/repo/yum/
點擊下載
獲取到下載鏈接:
https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
--------------------------------------------------------------------------------
第二步:下載和安裝mysql源
?進入mysql文件夾,沒有的自行創建
1
2
|
[root@VM_0_10_centos /] # cd /usr/local/mysql/ [root@VM_0_10_centos mysql] # |
?下載源安裝包
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@VM_0_10_centos mysql] # wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm --2018-08-04 10:29:39-- https: //repo .mysql.com //mysql80-community-release-el7-1 .noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.219.33.198 Connecting to repo.mysql.com (repo.mysql.com)|23.219.33.198|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25820 (25K) [application /x-redhat-package-manager ] Saving to: ‘mysql80-community-release-el7-1.noarch.rpm' 100%[==========================================================================>] 25,820 112KB /s in 0.2s 2018-08-04 10:29:40 (112 KB /s ) - ‘mysql80-community-release-el7-1.noarch.rpm' saved [25820 /25820 ] [root@VM_0_10_centos mysql] # ll total 28 -rw-r--r-- 1 root root 25820 Apr 18 13:24 mysql80-community-release-el7-1.noarch.rpm [root@VM_0_10_centos mysql] # |
?安裝mysql源
1
|
[root@VM_0_10_centos mysql] # yum -y localinstall mysql80-community-release-el7-1.noarch.rpm |
第三步:在線安裝MySQL
1
|
[root@VM_0_10_centos mysql] # yum -y install mysql-community-server |
下載東西比較多,等幾分鐘。
第四步:啟動Mysql服務
1
|
[root@VM_0_10_centos mysql] # systemctl start mysqld |
第五步:設置開機啟動
1
2
|
[root@VM_0_10_centos mysql] # systemctl enable mysqld [root@VM_0_10_centos mysql] # systemctl daemon-reload |
第六步:修改root本地登錄密碼
mysql安裝完成之后,在/var/log/mysqld.log文件中給root生成了一個臨時的默認密碼。用grep命令搜一下
1
2
3
4
5
|
[root@VM_0_10_centos mysql] # grep "A temporary password is generated for root@localhost" /var/log/mysqld.log 2018-08-02T02:19:55.829527Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !J:KUwU9y0ZR 2018-08-02T04:49:34.979689Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pw< /s9 ,Wivm2 2018-08-04T02:40:46.781768Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nNyK,Y)Wd0-G [root@VM_0_10_centos mysql] # |
這里有三條搜索結果,因為我重復裝了3次MySQL,如果第一次安裝是只會有一條的。
直接拿到臨時默認密碼 : nNyK,Y)Wd0-G
?登錄MySQL
1
2
3
4
5
6
7
8
9
10
11
|
[root@VM_0_10_centos mysql] # mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.12 Copyright (c) 2000, 2018, Oracle and /or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and /or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
?更改root賬戶臨時密碼
1
2
3
|
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.03 sec) mysql> |
Pwd123@easyoh.net 請替換成你自己的密碼。
(備注 mysql8.0默認密碼策略要求密碼必須是大小寫字母數字特殊字母的組合,至少8位)
第七步:創建新用戶、授權、遠程登錄(不要直接使用root賬戶登錄)
?創建easyoh-mp用戶并且授權遠程登錄
1
2
3
4
5
|
mysql> CREATE USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.04 sec) mysql> GRANT ALL ON *.* TO 'easyoh-mp' @ '%' ; Query OK, 0 rows affected (0.03 sec) mysql> |
?在sqlyog客戶端用easyoh-mp賬戶登錄(其他客戶端也可以,隨意)
發現會報plugin caching_sha2_password錯誤。這是因為MySQL8.0密碼策略默認為caching_sha2_password。與5.7有所不同。
?進入MySQL數據庫查詢user表信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
mysql> use mysql; Database changed mysql> select user,host,plugin from user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | easyoh-mp | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+ 5 rows in set (0.00 sec) mysql> |
發現確實是caching_sha2_password
?依次執行下面語句
1
2
3
4
5
6
7
|
mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED WITH mysql_native_password BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> |
再次登錄就可以登錄成功了。
第8步:編碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
mysql> show variables like '%character%' ; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql-8 .0 /charsets/ | +--------------------------+--------------------------------+ 8 rows in set (0.01 sec) mysql> |
MySQL8.0默認就是utf8mb4編碼,無需更改。
OK 至此 Mysql安裝配置完畢;
全流程操作記錄
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
[root@VM_0_10_centos ~] # [root@VM_0_10_centos /] # cd /usr/local/mysql/ [root@VM_0_10_centos mysql] # wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm --2018-08-04 10:29:39-- https: //repo .mysql.com //mysql80-community-release-el7-1 .noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.219.33.198 Connecting to repo.mysql.com (repo.mysql.com)|23.219.33.198|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25820 (25K) [application /x-redhat-package-manager ] Saving to: ‘mysql80-community-release-el7-1.noarch.rpm' 100%[==========================================================================>] 25,820 112KB /s in 0.2s 2018-08-04 10:29:40 (112 KB /s ) - ‘mysql80-community-release-el7-1.noarch.rpm' saved [25820 /25820 ] [root@VM_0_10_centos mysql] # ll total 28 -rw-r--r-- 1 root root 25820 Apr 18 13:24 mysql80-community-release-el7-1.noarch.rpm [root@VM_0_10_centos mysql] # yum -y localinstall mysql80-community-release-el7-1.noarch.rpm Loaded plugins: fastestmirror, langpacks Examining mysql80-community-release-el7-1.noarch.rpm: mysql80-community-release-el7-1.noarch Marking mysql80-community-release-el7-1.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mysql80-community-release.noarch 0:el7-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: mysql80-community-release noarch el7-1 /mysql80-community-release-el7-1 .noarch 31 k Transaction Summary ================================================================================================================================================================================================================= Install 1 Package Total size: 31 k Installed size: 31 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : mysql80-community-release-el7-1.noarch 1 /1 Verifying : mysql80-community-release-el7-1.noarch 1 /1 Installed: mysql80-community-release.noarch 0:el7-1 Complete! [root@VM_0_10_centos mysql] # yum -y install mysql-community-server Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile epel 12641 /12641 Resolving Dependencies --> Running transaction check ---> Package mysql-community-server.x86_64 0:8.0.12-1.el7 will be installed --> Processing Dependency: mysql-community-common(x86-64) = 8.0.12-1.el7 for package: mysql-community-server-8.0.12-1.el7.x86_64 --> Processing Dependency: mysql-community-client(x86-64) >= 8.0.0 for package: mysql-community-server-8.0.12-1.el7.x86_64 --> Running transaction check ---> Package mysql-community-client.x86_64 0:8.0.12-1.el7 will be installed --> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.0 for package: mysql-community-client-8.0.12-1.el7.x86_64 ---> Package mysql-community-common.x86_64 0:8.0.12-1.el7 will be installed --> Running transaction check ---> Package mysql-community-libs.x86_64 0:8.0.12-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: mysql-community-server x86_64 8.0.12-1.el7 mysql80-community 349 M Installing for dependencies: mysql-community-client x86_64 8.0.12-1.el7 mysql80-community 26 M mysql-community-common x86_64 8.0.12-1.el7 mysql80-community 541 k mysql-community-libs x86_64 8.0.12-1.el7 mysql80-community 2.2 M Transaction Summary ================================================================================================================================================================================================================= Install 1 Package (+3 Dependent packages) Total download size: 377 M Installed size: 1.7 G Downloading packages: (1 /4 ): mysql-community-common-8.0.12-1.el7.x86_64.rpm | 541 kB 00:00:05 (2 /4 ): mysql-community-client-8.0.12-1.el7.x86_64.rpm | 26 MB 00:00:12 (3 /4 ): mysql-community-server-8.0.12-1.el7.x86_64.rpm | 349 MB 00:02:26 (4 /4 ): mysql-community-libs-8.0.12-1.el7.x86_64.rpm | 2.2 MB 00:03:37 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.7 MB /s | 377 MB 00:03:43 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mysql-community-common-8.0.12-1.el7.x86_64 1 /4 Installing : mysql-community-libs-8.0.12-1.el7.x86_64 2 /4 Installing : mysql-community-client-8.0.12-1.el7.x86_64 3 /4 Installing : mysql-community-server-8.0.12-1.el7.x86_64 4 /4 Verifying : mysql-community-common-8.0.12-1.el7.x86_64 1 /4 Verifying : mysql-community-libs-8.0.12-1.el7.x86_64 2 /4 Verifying : mysql-community-client-8.0.12-1.el7.x86_64 3 /4 Verifying : mysql-community-server-8.0.12-1.el7.x86_64 4 /4 Installed: mysql-community-server.x86_64 0:8.0.12-1.el7 Dependency Installed: mysql-community-client.x86_64 0:8.0.12-1.el7 mysql-community-common.x86_64 0:8.0.12-1.el7 mysql-community-libs.x86_64 0:8.0.12-1.el7 Complete! [root@VM_0_10_centos mysql] # systemctl start mysqld [root@VM_0_10_centos mysql] # systemctl enable mysqld [root@VM_0_10_centos mysql] # systemctl daemon-reload [root@VM_0_10_centos mysql] # grep "A temporary password is generated for root@localhost" /var/log/mysqld.log 2018-08-02T02:19:55.829527Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !J:KUwU9y0ZR 2018-08-02T04:49:34.979689Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pw< /s9 ,Wivm2 2018-08-04T02:40:46.781768Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nNyK,Y)Wd0-G [root@VM_0_10_centos mysql] # mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.12 Copyright (c) 2000, 2018, Oracle and /or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and /or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.03 sec) mysql> CREATE USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.04 sec) mysql> GRANT ALL ON *.* TO 'easyoh-mp' @ '%' ; Query OK, 0 rows affected (0.03 sec) mysql> use mysql; Database changed mysql> select user,host,plugin from user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | easyoh-mp | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+ 5 rows in set (0.00 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED WITH mysql_native_password BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> show variables like '%character%' ; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql-8 .0 /charsets/ | +--------------------------+--------------------------------+ 8 rows in set (0.01 sec) |
這里有個問題,新密碼設置的時候如果設置的過于簡單會報錯:
原因是因為MySQL有密碼設置的規范,具體是與validate_password_policy的值有關:
MySQL完整的初始密碼規則可以通過如下命令查看:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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.01 sec) |
密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
1
|
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count) |
我的是已經修改過的,初始情況下第一個的值是ON,validate_password_length是8。可以通過如下命令修改:
1
2
|
mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1; |
總結
以上所述是小編給大家介紹的CentOS 7.4 64位安裝配置MySQL8.0的詳細步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.cnblogs.com/smiler/archive/2018/10/17/9802056.html