大學(xué)到工作兩年了,安裝了很多次mysql,都沒有做總結(jié),這次又裝了一次,掉了幾次坑,哎所以寫個(gè)文章記錄下
先說徹底卸載mysql
1.首先刪除本地的mysql安裝文件

2.刪除下面幾個(gè)文件下帶有mysql的文件,ProgramData下的mysql文件有的話就刪除

3.去除注冊(cè)表中的信息,路徑如下
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
好,這樣就徹底刪除了
下面我們就下載mysql,我用的mysql8.0版本
mysql下載安裝如下
可以使用sohu的鏡像:http://mirrors.sohu.com/mysql/MySQL-8.0/

或者中科大的鏡像:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.16-winx64.zip
1.找到要下的版本,我這里是zip版本直接解壓就好了,方便,test版本可能不太穩(wěn)定
下載后解壓,注意解壓的目錄要求是英文目錄且沒有空格的
2.把my.ini文件復(fù)制到mysql安裝目錄D:\database\mysql-8.0.11-winx64下,basedir=D:\database\mysql-8.0.11-winx64,datadir=D:\database\mysql-8.0.11-winx64\data對(duì)應(yīng)的也是mysql安裝目錄
#代碼開始
[Client]
#設(shè)置3306端口
port = 3306
default-character-set=utf8
[mysqld]
#設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:\database\mysql-8.0.11-winx64
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=D:\database\mysql-8.0.11-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
#代碼結(jié)束
3.然后就進(jìn)入mysql目錄下的bin目錄下,輸入
mysqld --initialize --user=mysql --console

紅圈的就是之后登陸mysql要用的密碼
4.輸入
mysqld -install,在輸入net start mysql,服務(wù)啟動(dòng)成功了

5.輸入mysql -u root -p后在輸入密碼區(qū)寫上之前紅圈中標(biāo)中的密碼,注意輸入密碼前要到外面輸入下看是否是英文的,要不然怎么輸入都輸入不對(duì),這個(gè)搞了我好久賊煩。
登陸之后修改密碼輸入ALTER USER root@localhost IDENTIFIED BY '123456z#a';這個(gè)123456z#a就是你的密碼了

好了,安裝成功。
但是后來測(cè)試本地連接時(shí)候出現(xiàn)錯(cuò)誤2059,報(bào)錯(cuò)原因是caching_sha2_password不能加載。
這是因?yàn)?.0之后mysql更改了密碼的加密規(guī)則,而目前已有的客戶端連接軟件還不支持Mysql8新增加的加密方式caching_sha2_password,所以我們需要修改用戶的加密方式,將其改為老的加密驗(yàn)證方式
4、修改加密規(guī)則
alter user root@localhost identified by 'password' password expire never;
5、更新密碼
alter user root@localhost identified with mysql_native_password by '123456z#a';
6、刷新
flush privileges;


這樣就可以連接了