1. 程式人生 > >mysql-5.7.23版本安裝以及常見錯誤(詳細)

mysql-5.7.23版本安裝以及常見錯誤(詳細)

作業系統:windows7 64-bit

資料庫版本:mysql-5.7.23-winx64

1. 首先去官網下載符合作業系統的資料庫版本:https://dev.mysql.com/downloads/mysql/

2. 下載之後解壓縮到某個資料夾或目錄下,我的是D:\mysql-5.7.23-winx64

3. 有的人會在一解壓後就進入到bin資料夾下尋找mysql.exe啟動,但是命令列視窗閃了一下就消失了。這時不要急,依次按下面的操作去做:

3.1 檢視一下mysql-5.7.23-win64解壓目錄下是否有my.ini檔案(一般是沒有的,如果有my-default.ini檔案,則改名為               my.ini),如果沒有,則新建一個my.ini檔案,將以下程式碼複製進去,複製完後儲存,並將my.ini檔案複製一份放到bin資料夾下。程式碼中出現兩次D:\mysql-5.7.23-winx64,這是我的MySQL的解壓路徑,各位根據自己的路徑替換掉即可。至此,MySQL可以執行安裝了。

[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8 
[mysqld]
#設定3306埠
port = 3306 
# 設定mysql的安裝目錄
basedir="D:\mysql-5.7.23-winx64"
# 設定mysql資料庫的資料的存放目錄
datadir="D:\mysql-5.7.23-winx64\data"
# 允許最大連線數
max_connections=200
# 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB


3.2 以管理員身份執行cmd,切換到mysql-5.7.23-winx64的bin目錄下,輸入mysqld install命令(注意是mysqld而不是mysql)回車,即可安裝MySQL,如下圖所示:

3.3 安裝好MySQL後,可以輸入net start mysql來啟動MySQL,輸入net stop mysql 來關閉MySQL服務,也可以在服務裡面手動啟動/關閉MySQL服務:

3.4 我在安裝成功後啟動MySQL服務時,服務啟動不了,提示:MySQL服務無法啟動    服務沒有報告任何錯誤    請鍵入NET HELPMSG 3534 以獲得更多幫助,如下:

解決方案:安裝好MySQL後,開啟cmd命令視窗,並且進入到MySQL安裝目錄中的bin目錄,然後輸入如下命令回車即可:mysqld --initialize-insecure --user=mysql
執行完上面命令後,MySQL會自建一個data資料夾,並且建好預設資料庫,登入的使用者名稱為root,密碼為空,之後就可以通過命令net start mysql啟動mysql服務了。
          注:MySQL升級到5.7版本是沒有data資料夾的,執行mysqld --initialize-insecure --user=mysql命令會自動新建data資料夾。

4. 把cmd命令列路徑定位到bin目錄下,啟動mysql資料庫: net start mysql

然後登陸,輸入命令列mysql -uroot -p,如果登陸過程中遇到如下問題:

無論怎麼輸入密碼,回車的時候就會提示mysql Access denied for user [email protected]錯誤

解決方法是:編輯mysql配置檔案my.ini(注意有兩個my.ini檔案都要加),在[mysqld]這個條目下加入 skip-grant-tables 儲存退出後重啟mysql

[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8 
[mysqld]
#設定3306埠
skip-grant-tables
port = 3306 
# 設定mysql的安裝目錄
basedir="D:\mysql-5.7.23-winx64"
# 設定mysql資料庫的資料的存放目錄
datadir="D:\mysql-5.7.23-winx64\data"
# 允許最大連線數
max_connections=200
# 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
開啟cmd,輸入 net stop mysql

啟動:輸入 net start mysql  

這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現 password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有許可權)。

繼續按下面的流程走:

進入mysql資料庫:
mysql> use mysql; 
Database changed

給root使用者設定新密碼:  
mysql> update mysql.user set authentication_string=password('*******') where user='root';
Query OK, 1 rows affected (0.01 sec) 
Rows matched: 1 Changed: 1 Warnings: 0

重新整理資料庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)  

退出mysql:
mysql> quit; 
Bye

改好之後,再修改一下my.ini檔案,把我們剛才加入的 "skip-grant-tables"這行刪除,儲存退出再重啟mysql就可以了。重啟之後用設定好的密碼進行登陸。


--------------------- 
作者:lian_老練 
來源:CSDN 
原文:https://blog.csdn.net/weixin_41461967/article/details/82118869?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!