MySql 8.0.11安裝配置教程
官網(wǎng)地址:https://dev.mysql.com/downloads/mysql/
我這里是RHEL6.5的系統(tǒng),因此選擇RedHat 6 x86,64bit操作系統(tǒng)---下載第一個RPM Bundle即可--mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar。
目前MySQL8.0.11社區(qū)版提供了多種多樣的安裝方式,但是并未發(fā)現(xiàn)針對Linux Generic安裝包包含的mysql_secure_installation的安裝說明。
因此這里使用推薦的RPM安裝:
一、mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar解壓后有如下7個文件:
-rw-r--r-- 1 root root 28987588 Apr 9 01:06 mysql-community-client-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 672184 Apr 9 01:06 mysql-community-common-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 4443296 Apr 9 01:06 mysql-community-devel-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 2579460 Apr 9 01:06 mysql-community-libs-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 1902676 Apr 9 01:06 mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 395918848 Apr 9 01:07 mysql-community-server-8.0.11-1.el6.x86_64.rpm -rw-r--r-- 1 root root 49092596 Apr 9 01:07 mysql-community-test-8.0.11-1.el6.x86_64.rpm
然后創(chuàng)建mysql用戶:
useradd mysql passwd mysql
二、安裝順序為:(建議裝之前先把之前的mysql相關(guān)包全部卸載,rpm -e --nodeps <包名>即可)
[root@python ~]# rpm -ivh mysql-community-common-8.0.11-1.el6.x86_64.rpm warning: mysql-community-common-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-common ########################################### [100%] [root@python ~]# rpm -ivh mysql-community-libs-8.0.11-1.el6.x86_64.rpm warning: mysql-community-libs-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-libs ########################################### [100%] [root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm warning: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] file /usr/lib64/mysql/libmysqlclient.so.16.0.0 from install of mysql-community-libs-compat-8.0.11-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.73-8.0.1.el6_8.x86_64 file /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 from install of mysql-community-libs-compat-8.0.11-1.el6.x86_64 conflicts with file from package mysql-libs-5.1.73-8.0.1.el6_8.x86_64 [root@python ~]# rpm -e --nodeps mysql-libs-5.1.73-8.0.1.el6_8.x86_64 [root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm warning: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-libs-co########################################### [100%] [root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm warning: mysql-community-server-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-client(x86-64) >= 8.0.0 is needed by mysql-community-server-8.0.11-1.el6.x86_64 [root@python ~]# rpm -ivh mysql-community-client-8.0.11-1.el6.x86_64.rpm warning: mysql-community-client-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-client ########################################### [100%] [root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm warning: mysql-community-server-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-server ########################################### [100%] [root@python ~]# rpm -ivh mysql-community-devel-8.0.11-1.el6.x86_64.rpm warning: mysql-community-devel-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [100%] 1:mysql-community-devel ########################################### [100%] ^[[A[root@python ~]# rpm -ivh mysql-community-test-8.0.11-1.el6.x86_64.rpm warning: mysql-community-test-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: perl(JSON) is needed by mysql-community-test-8.0.11-1.el6.x86_64 --懶的去裝perl了,因此測試套件就不裝了。
三、安裝完畢后相關(guān)信息如下:
[root@python ~]# mysql -V mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL) [root@python ~]# ll /etc/init.d/mysqld -rwxr-xr-x 1 root root 7166 Apr 8 16:21 /etc/init.d/mysqld [root@python ~]# ll /etc/my.cnf --配置文件位置 -rw-r--r-- 1 root root 1188 Apr 8 16:21 /etc/my.cnf
默認(rèn)的datadir是在/var/lib/mysql/,可以通過修改my.cnf修改,啟動命令如下:
[root@python ~]# service mysqld start Initializing MySQL database: [ OK ] Starting mysqld: [ OK ]
四、發(fā)現(xiàn)沒密碼不能登錄,于是添加skip-grant-tables到my.cnf,重啟進(jìn)去重置密碼
mysql> alter user root@'localhost' identified by 'mysql'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> exit Bye
居然不能改。。。于是:
mysql> delete from mysql.user where user='root'; Query OK, 1 row affected (0.10 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> create user root@'localhost' identified by 'mysql'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
還是不能改,查看密碼復(fù)雜度要求:
mysql> show variables like '%pass%'; +----------------------------------------------+-----------------+ | Variable_name | Value | +----------------------------------------------+-----------------+ | caching_sha2_password_auto_generate_rsa_keys | ON | | caching_sha2_password_private_key_path | private_key.pem | | caching_sha2_password_public_key_path | public_key.pem | | default_password_lifetime | 0 | | disconnect_on_expired_password | ON | | mysql_native_password_proxy_users | OFF | | password_history | 0 | | password_reuse_interval | 0 | | report_password | | | sha256_password_auto_generate_rsa_keys | ON | | sha256_password_private_key_path | private_key.pem | | sha256_password_proxy_users | OFF | | sha256_password_public_key_path | public_key.pem | | 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 | MEDIUM | | validate_password.special_char_count | 1 | +----------------------------------------------+-----------------+
發(fā)現(xiàn)此值有3個,如下所示:
于是設(shè)置為0,然后將validate_password.length設(shè)置為4,表示最少需要4字符。之所以設(shè)置為4是因為這個參數(shù)的值不能小于如下公式的計算結(jié)果:
validate_password.number_count + validate_password.special_char_count + (2 * validate_password.mixed_case_count)
于是繼續(xù)創(chuàng)建用戶,MySQL8.0取消了直接grant創(chuàng)建用戶的語法,只能先create user再grant,因此創(chuàng)建root如下:
mysql> create user root@'localhost' identified by 'mysql'; ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost' mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> create user root@'localhost' identified by 'mysql'; ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost'
尼瑪...什么玩意兒?
于是去逛了一圈stackoverflow,都說這是一個BUG,于是操作如下:
mysql> drop user root@'localhost'; --是的沒錯,雖然沒有root@'localhost'用戶,但你還是要刪一遍。 Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> create user root@'localhost' identified by 'mysql'; Query OK, 0 rows affected (0.03 sec) mysql> grant all on *.* to root@'localhost' with grant option; Query OK, 0 rows affected (0.03 sec)
終于改完密碼了...去掉參數(shù)文件的skip-grant-tables參數(shù),service mysqld restart重啟服務(wù)。
五、終于設(shè)置好密碼了,建一個測試用戶leo,然后嘗試遠(yuǎn)程連接下吧:
$ mysql -uleo -pmysql -h192.168.1.193 mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
我這5.7的mysql工具都連不上,這就尷尬了,查看認(rèn)證相關(guān)參數(shù):
mysql> show variables like '%auth%'; +-------------------------------+-----------------------+ | Variable_name | Value | +-------------------------------+-----------------------+ | default_authentication_plugin | caching_sha2_password | +-------------------------------+-----------------------+ 1 row in set (0.02 sec)
查看官網(wǎng)發(fā)現(xiàn)此值的取值如下:
官網(wǎng)還說此值影響create user不顯式指定auth plugin時密碼的默認(rèn)加密算法,臥槽...那豈不是說我之前創(chuàng)建的leo用戶使用的是默認(rèn)的caching_sha2_password認(rèn)證,查看一下:
mysql> select user,host,plugin from mysql.user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | leo | % | caching_sha2_password | | mysql.infoschema | localhost | mysql_native_password | | mysql.session | localhost | mysql_native_password | | mysql.sys | localhost | mysql_native_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+
完了,全TM完了......
顯然不能直接update plugin,因為這可能導(dǎo)致加密的密碼無法被正確解密,你所有的密碼都會變異,因此除root@'localhost'外全部刪掉重建。
首先需要在my.cnf里添加:default_authentication_plugin=mysql_native_password,然后service mysqld restart重啟服務(wù):
mysql> drop user leo; Query OK, 0 rows affected (0.10 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> create user leo identified by 'mysql'; Query OK, 0 rows affected (0.02 sec) mysql> grant all on *.* to leo; Query OK, 0 rows affected (0.08 sec) $mysql -V mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper $ mysql -uleo -pmysql -h192.168.1.193 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 Server version: 8.0.11 MySQL Community Server - GPL Copyright (c) 2000, 2017, 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>
至此遠(yuǎn)程連接正常。
總結(jié)
以上所述是小編給大家介紹的MySql 8.0.11安裝配置教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- MySQL8.0.11安裝總結(jié)教程圖解
- mysql-8.0.11-winx64.zip安裝教程詳解
- mysql8.0.11 winx64安裝配置方法圖文教程(win10)
- MySQL Community Server 8.0.11安裝配置方法圖文教程
- Windows下MySQL8.0.11社區(qū)綠色版安裝步驟圖解
- mysql 8.0.11 壓縮包版安裝配置方法圖文教程
- mysql 8.0.11 macos10.13安裝配置方法圖文教程
- win10下mysql 8.0.11壓縮版安裝詳細(xì)教程
- mysql 8.0.11 MSI版安裝配置圖文教程
- mac系統(tǒng)下mysql 8.0.11 安裝指南
相關(guān)文章
Mysql聯(lián)表update數(shù)據(jù)的示例詳解
這篇文章主要介紹了Mysql聯(lián)表update數(shù)據(jù)的示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11關(guān)于for update和lock in share mode的區(qū)別及說明
這篇文章主要介紹了關(guān)于for update和lock in share mode的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08如何通過配置自動實(shí)現(xiàn)ValueList中hql語句的整型參數(shù)轉(zhuǎn)換
本篇文章是對通過配置自動實(shí)現(xiàn)ValueList中hql語句的整型參數(shù)轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06CentOS7.x?安裝mysql5.7?XtraBackUp備份工具使用命令詳解
這篇文章主要介紹了CentOS7.x?安裝mysql5.7?XtraBackUp備份工具使用,本文給大家介紹了mysql安裝過程及命令使用方法,需要的朋友可以參考下2022-04-04MySQL執(zhí)行SQL文件報錯:Unknown collation ‘utf8mb4_0900_ai_
這篇文章主要給大家分享了MySQL執(zhí)行SQL文件出現(xiàn)【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解決方案,如果又遇到相同問題的同學(xué),可以參考閱讀本文2023-09-09