一、Mysql下載下傳
壓縮包下載下傳:https://dev.mysql.com/downloads/mysql/
MSI下載下傳:https://dev.mysql.com/downloads/windows/installer/8.0.html
個人推薦壓縮安裝,Msi安裝如果出現錯誤,容易安裝失敗。
二、Mysql安裝
2.1、将檔案解壓到合适的目錄下,個人比較喜歡放在D盤,檔案夾路徑最好純英文,中文可能出現意想不到的問題。
2.2、配置my.ini檔案,隻需要配置basedir即可,根據自己解壓路徑配置。
-
[mysql]
-
# 設定mysql用戶端預設字元集
-
default-character-set=utf8
-
[mysqld]
-
# 設定3306端口
-
port = 3306
-
# 設定mysql的安裝目錄
-
basedir=C:\\Mysql\\mysql-8.0.17-winx64
-
# 設定 mysql資料庫的資料的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯
-
# datadir=C:\\Mysql\\mysql-8.0.17-winx64\\data
-
# 允許最大連接配接數
-
max_connections=20
-
# 服務端使用的字元集預設為8比特編碼的latin1字元集
-
character-set-server=utf8
-
# 建立新表時将使用的預設存儲引擎
-
default-storage-engine=INNODB
注意:windows預設建立的是txt檔案,需要修改字尾名為 ini。
2.3、以管理者身份打開指令行,将目錄切換到你解壓檔案的bin目錄。
2.4、初始化Mysql,Mysql8.0之後自動生成data檔案夾。
-
mysqld --initialize-insecure (建議使用,不設定root密碼)
-
//生成的密碼在實際連接配接的時候可能會不小心輸入錯誤或忘記,導緻無法連接配接Mysql
-
mysqld --initialize --console(不建議使用,在控制台生成一個随機的root密碼)
2.5、安裝mysql
-
//安裝mysql服務
-
mysqld install mysql
-
//解除安裝mysql服務
-
sc delete mysql(需要管理者權限)
-
//移除mysql服務(需要停止mysql)
-
mysqld -remove
執行指令成功後一般會出現Service successfully installed
2.6、開啟Mysql服務
net start mysql
2.7、登入Mysql
mysql -uroot
2.8、設定(修改)密碼
-
//切換資料庫
-
use mysql;
-
//修改root使用者的密碼為225514,根據需要自己設定
-
alter user 'root'@localhost identified by '225514';
-
//重新整理權限,一般修改密碼或授權使用者的時候需要使用
-
flush privileges;
-
//推出mysql,兩個都可以正常退出資料庫
-
quit
-
exit
注意:Mysql8.0之後修改密碼的方式無法使用password函數 !
2.9、重新登入資料庫
-
//回車後,輸入正确的密碼即可正常
-
mysql -uroot -p
2.10、配置PATH路徑,任意位置打開cmd都可以連接配接Mysql
三、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;
修改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、添加外網通路權限
-
//切換資料庫
-
use mysql
-
//更新使用者的host
-
update user set host='%' where user='root';
-
//授權
-
grant all privileges on *.* to 'root'@'%' with grant option;
-
//重新整理
-
flush privileges;
3.4、建立使用者waggag并授遠端通路權
建立使用者 | |
授予權限 | |
重新整理權限 | |