綠色版MySql安裝及啟動時:"MYSQL 服務無法啟動"的3534問題,修改密碼
首先下載
可以去mysql官網下載:https://dev.mysql.com/downloads/mysql/ 點選下載
我下載的版本是,下載以後解壓
放到自己需要的位置之後配置環境變數,在系統屬性 --> 高階 --> 高階 --> 系統變數 --> path中新增 “路徑/bin” 如我的:D:\Program Files\mysql-8.0.11\bin
安裝
首先需要新建一個配置檔案 my.ini,內容及註釋如下:
[mysql] # 設定mysql客戶端預設字符集 default-character-set=utf8 [mysqld] #設定3306埠 port = 3306 # 設定mysql的安裝目錄,根據自己目錄修改 basedir=D:\Program Files\mysql-8.0.11 # 設定mysql資料庫的資料的存放目錄 datadir=D:\Program Files\mysql-8.0.11\data # 允許最大連線數 max_connections=15 # 服務端使用的字符集預設為8位元編碼的latin1字符集 character-set-server=utf8 # 建立新表時將使用的預設儲存引擎 default-storage-engine=INNODB ###下面的這些配置我沒用#### #忘記密碼時使用 #skip-grant-tables #設定協議認證方式 #default_authentication_plugin=mysql_native_password
設定完的檔案結構如下,新建的的my.ini的位置
以管理員身份執行cmd,否則可能會出現許可權不足,引起安裝錯誤
輸入的命令及顯示如下:
D:\Program Files\mysql-8.0.11>cd bin //切換到bin目錄下 D:\Program Files\mysql-8.0.11\bin>mysqld --remove //我以前安裝過mysql,先移除 Service successfully removed. D:\Program Files\mysql-8.0.11\bin>mysqld --install //安裝mysql,注意這裡都是兩個小橫線 Service successfully installed. D:\Program Files\mysql-8.0.11\bin> D:\Program Files\mysql-8.0.11\bin>mysqld --initialize --console //注意這裡會生成一個密碼 2018-05-17T07:59:00.988023Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql-8.0.11\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 3556 2018-05-17T07:59:25.239288Z 5 [Note] [MY-010454] [Server] A temporary password is generated for
[email protected]: 3<?*Yfr3>gdw //這裡3<?*Yfr3>gdw就是隨機生成的密碼 2018-05-17T07:59:45.170784Z 0 [System] [MY-013170] [Server] D:\Program Files\mysql-8.0.11\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed D:\Program Files\mysql-8.0.11\bin>net start mysql //啟動mysql服務 MySQL 服務正在啟動 .. MySQL 服務已經啟動成功。 D:\Program Files\mysql-8.0.11\bin>mysql -uroot -p //登入mysql Enter password: ************ //密碼就是上面的密碼 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 Copyright (c) 2000, 2018, 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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; //修改密碼 Query OK, 0 rows affected (0.18 sec)//修改密碼成功 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.10 sec) mysql>
到這裡,就安裝成功了。
-------------------我是美麗的分界線,下面是我查的一些資料,在這裡備份一下-----------------------------
Windows10系統下,徹底刪除解除安裝MySQL
1》停止MySQL服務
開始-》所有應用-》Windows管理工具-》服務,將MySQL服務停止。
2》解除安裝mysql server
控制面板\所有控制面板項\程式和功能,將mysql server解除安裝掉。
3》將MySQL安裝目錄下的MySQL資料夾刪除(我的安裝目錄是C:\Program Files (x86)\MySQL)
4》執行“regedit”檔案,開啟登錄檔。
刪除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的資料夾。
如果沒有相應的資料夾,就不用刪除了。
5》刪除C盤下的“C:\ProgramData\MySQL ”資料夾,如果刪除不了則用360粉碎掉即可,
該programData檔案預設是隱藏的,設定顯示後即可見,或者直接複製 C:\ProgramData 到位址列回車即可進入!
將整個MySQL資料夾刪除掉。。。
6》開始-》所有應用-》Windows管理工具-》服務
如果已經將MySQL解除安裝,但通過“開始-》所有應用-》Windows管理工具-》服務”檢視到MySQL服務仍然殘留在
系統服務裡。又不想改服務名,改怎麼辦呢。
只要在CMD裡輸入一條命令就可以將服務刪除:
sc delete mysql //這裡的mysql是你要刪除的服務名
這樣一來服務就被刪除了。
然後,就可以重灌MySQL資料庫了!!!
二、中文亂碼修改
1. 從服務端進行修改
show variables like "%char%";
然後可能顯示如下資訊,注意紅色部分,不同的使用者可能實際情況不同,但是需要保證除了 filesystem為binary外,其他都為utf8:
+--------------------------+---------------+ | Variable_name | Value | +--------------------------+---------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+-------------+
2. 通過如下SQL語句進行修改,全部設定為utf8即可:
#設定資料庫編碼資訊 SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_database ='utf8'; SET character_set_results='utf8'; SET character_set_server='utf8';
3、SQL連線字串加上?useUnicode=true&characterEncoding=utf-8
jdbc.url = jdbc:mysql://localhost:3306/bsframe?useUnicode=true&characterEncoding=utf-8
一般按照上述步驟後,就不會出現亂碼了!
三、修改為任意使用者可以連線
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
這裡的yourpassword 是你設定的密碼,請自行修改。
新建配置檔案 my.ini,內容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[Client] port = 3306 [mysqld] port = 3306 basedir=D:/APP/MySQL datadir=D:/APP/MySQL/data max_connections=200 character-set-server=utf8 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #忘記密碼時使用 #skip-grant-tables #設定協議認證方式 default_authentication_plugin=mysql_native_password [mysql] default-character-set=utf8 |
設定環境變數
以管理員身份執行 cmd 否則可能會出現許可權不足的問題,下列操作均在cmd中執行
安裝並啟動MySQL服務
mysqld --install
返回結果為 Service successfully installed
net start MySQL
或在服務中啟動mysql服務
安裝
mysqld --initialize-insecure
這個命令在執行時,游標一直閃,表示正在安裝中,直到cmd可以進行輸入,即是安裝完成;
我看別人有這樣安裝的:mysqld --initialize --console
兩者的區別是上面這個會展示安裝過程並生成一個預設的資料庫密碼,而我用的方法,不展示安裝過程,預設密碼為空。
設定密碼
1 2 3 |
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '111111'; FLUSH PRIVILEGES; |
這期間還涉及MySQL的密碼認證外掛是mysql_native_password
,而現在使用的是caching_sha2_password
。
因為當前有很多資料庫工具和連結包都不支援caching_sha2_password
,為了方便,我暫時還是改回了mysql_native_password
認證外掛。
在MySQL中執行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改密碼驗證外掛,同時修改密碼。
如果想預設使用mysql_native_password
外掛認證,可以在配置檔案中配置default_authentication_plugin
項,這個在新建my.ini
中已經設定過了。 參考連結
1 2 |
[mysqld] default_authentication_plugin=mysql_native_password |
開啟遠端訪問
1 2 3 |
CREATE USER 'root'@'%' IDENTIFIED BY '111111'; GRANT ALL ON *.* TO 'root'@'%'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111'; |
在網上看到了兩種開啟遠端方法的方法:
在使用第一種方法時會報這樣的錯誤:
開啟遠端訪問這塊還分為root賬戶的遠端訪問或者指定某個非root賬戶,網上有很多,就不說明了。
安裝好後,至今還沒有什麼問題,若你預遇見了問題,歡迎和我交流。
引用及參考:
1):https://blog.csdn.net/Mine_MuYan/article/details/80278690
2):https://www.cnblogs.com/LiuChunfu/p/6426918.html