天天看點

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

一、Mysql下載下傳

壓縮包下載下傳:https://dev.mysql.com/downloads/mysql/

MSI下載下傳:https://dev.mysql.com/downloads/windows/installer/8.0.html

      個人推薦壓縮安裝,Msi安裝如果出現錯誤,容易安裝失敗。

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

 二、Mysql安裝

2.1、将檔案解壓到合适的目錄下,個人比較喜歡放在D盤,檔案夾路徑最好純英文,中文可能出現意想不到的問題。

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

2.2、配置my.ini檔案,隻需要配置basedir即可,根據自己解壓路徑配置。

  1. [mysql]

  2. # 設定mysql用戶端預設字元集

  3. default-character-set=utf8

  4. [mysqld]

  5. # 設定3306端口

  6. port = 3306

  7. # 設定mysql的安裝目錄

  8. basedir=C:\\Mysql\\mysql-8.0.17-winx64

  9. # 設定 mysql資料庫的資料的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯

  10. # datadir=C:\\Mysql\\mysql-8.0.17-winx64\\data

  11. # 允許最大連接配接數

  12. max_connections=20

  13. # 服務端使用的字元集預設為8比特編碼的latin1字元集

  14. character-set-server=utf8

  15. # 建立新表時将使用的預設存儲引擎

  16. default-storage-engine=INNODB

注意:windows預設建立的是txt檔案,需要修改字尾名為 ini。 

2.3、以管理者身份打開指令行,将目錄切換到你解壓檔案的bin目錄。

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

2.4、初始化Mysql,Mysql8.0之後自動生成data檔案夾。

  1. mysqld  --initialize-insecure (建議使用,不設定root密碼)

  2. //生成的密碼在實際連接配接的時候可能會不小心輸入錯誤或忘記,導緻無法連接配接Mysql

  3. mysqld --initialize --console(不建議使用,在控制台生成一個随機的root密碼)

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

2.5、安裝mysql

  1. //安裝mysql服務

  2. mysqld install mysql

  3. //解除安裝mysql服務

  4. sc delete mysql(需要管理者權限)

  5. //移除mysql服務(需要停止mysql)

  6. mysqld -remove

執行指令成功後一般會出現Service successfully installed

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

2.6、開啟Mysql服務

net start mysql
           
Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

2.7、登入Mysql

mysql -uroot
           

2.8、設定(修改)密碼

  1. //切換資料庫

  2. use mysql;

  3. //修改root使用者的密碼為225514,根據需要自己設定

  4. alter user 'root'@localhost identified by '225514';

  5. //重新整理權限,一般修改密碼或授權使用者的時候需要使用

  6. flush privileges;

  7. //推出mysql,兩個都可以正常退出資料庫

  8. quit

  9. exit

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

注意:Mysql8.0之後修改密碼的方式無法使用password函數 !

2.9、重新登入資料庫

  1. //回車後,輸入正确的密碼即可正常

  2. mysql -uroot -p

2.10、配置PATH路徑,任意位置打開cmd都可以連接配接Mysql

Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

三、Mysql8.0碰到的坑 

3.1、使用Navicate連接配接資料庫可能會出現的問題

        連接配接報錯如下Client does not support authentication protocol requested by server,Navicat 12版本之後不會報錯。

        mysql8.0 引入了新特性 caching_sha2_password;這種密碼加密方式用戶端不支援;用戶端支援的是mysql_native_password 這種加密方式;

檢視加密方式:

select host,user,plugin from user;
           
Mysql8.+壓縮包安裝以及注意事項一、Mysql下載下傳 二、Mysql安裝三、Mysql8.0碰到的坑 

修改root使用者的加密方式:

alter user 'root'@localhost identified with mysql_native_password BY '225514';
           

 注意:一般更新下Navicate的版本即可,不建議修改加密方式。

3.2、加密方式的講解。

caching_sha2_password as the Preferred Authentication Plugin(caching_sha2_password作為首選身份驗證插件)

The 

caching_sha2_password

 and 

sha256_password

 authentication plugins provide more secure password encryption than the 

mysql_native_password

 plugin, and

caching_sha2_password

 provides better performance than 

sha256_password

. Due to these superior security and performance characteristics of 

caching_sha2_password

, it is as of MySQL 8.0 the preferred authentication plugin, and is also the default authentication plugin rather than 

mysql_native_password

. This change affects both the server and the 

libmysqlclient

 client library。

翻譯:該

caching_sha2_password

和 

sha256_password

認證插件提供比更安全的密碼加密

mysql_native_password

插件,并 

caching_sha2_password

提供了比更好的性能

sha256_password

。由于這些優越的安全性和性能特征 

caching_sha2_password

,它是MySQL 8.0的首選認證插件,也是預設的認證插件而不是 

mysql_native_password

。此更改會影響伺服器和

libmysqlclient

用戶端庫。

官方文檔:https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password

 3.3、添加外網通路權限

  1. //切換資料庫

  2. use mysql

  3. //更新使用者的host

  4. update user set host='%' where user='root';

  5. //授權

  6. grant all privileges on *.* to 'root'@'%' with grant option;

  7. //重新整理

  8. flush privileges;

3.4、建立使用者waggag并授遠端通路權

建立使用者

建立使用者
create user 'waggag'@'%' identified by '225514';
           
授予權限
GRANT ALL ON *.* TO 'waggag'@'%' WITH GRANT OPTION;
           
重新整理權限
flush privileges;