下載mysql安裝包,我的是下載mysql 8.0.11 winx64,解壓到你想安裝的目錄下,然後配置環境(window環境下,mac本還沒試過), 1、首先,配置環境:右擊此電腦 屬性 高級系統設置 環境變數 path 新建 ,然後將自己的路徑添加進去(例如我目錄:F:\mysql\mysql ...
下載mysql安裝包,我的是下載mysql-8.0.11-winx64,解壓到你想安裝的目錄下,然後配置環境(window環境下,mac本還沒試過),
1、首先,配置環境:右擊此電腦->屬性->高級系統設置->環境變數->path->新建 ,然後將自己的路徑添加進去(例如我目錄:F:\mysql\mysql-8.0.11-winx64),除此之外還要看解壓的壓縮包內是否有my.ini文件或者my-default.ini文件,如果沒有需要自己寫一個在根目錄下,預設的配置信息如下:
查看所有的配置項,可參考:https://dev.mysql.com/doc/refman/8.0/en/mysqld-option-tables.html
[mysqld]
# 設置3306埠
port=3306
# 設置mysql的安裝目錄
basedir=F:\mysql\mysql-8.0.11-winx64
# 設置mysql資料庫的數據的存放目錄(此目錄會在之後進行命令生成,無需手寫)
datadir=F:\mysql\mysql-8.0.11-winx64\Data
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統
max_connect_errors=10
# 服務端使用的字元集預設為UTF8
character-set-server=utf8
# 創建新表時將使用的預設存儲引擎
default-storage-engine=INNODB
# 預設使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端預設字元集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時預設使用的埠
port=3306
default-character-set=utf8
2、然後打開終端,window+r 然後輸入cmd 打開終端並切換到該路徑下,並執行命令 mysqld --initialize 檢查當前環境,如果沒有任何報錯,打開你的目錄你會看到你的根目錄會出現data文件夾;說明一切正常
註意這一步可能會遇到一些報錯信息,例如彈出“ 由於找不到vcruntime140.dll,無法繼續執行代碼,重新安裝程式可能會解決此問題 ”等問題,說明你的電腦缺少一些必要的文件,這時要打開控制面板查看C++ 2015具體信息,
我的是因為之前沒有x64位的C++,所以缺少文件,如果你的有,那麼可點擊卸載,它會提示你讓你進行修複,點擊修複,完成,就可以繼續在終端輸入命令;
初始化資料庫
mysqld --initialize --console
這時會列印如下error,意思是已經有了data目錄了,只要把他刪除就好,
F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T09:26:35.244245Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 980
2018-10-29T09:26:35.287469Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2018-10-29T09:26:35.299110Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-10-29T09:26:35.302159Z 0 [System] [MY-010910] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.11) MySQL Community Server - GPL.
再次執行上面命令,會列印用戶的初始密碼,其中@localhost : XXXXXX就是預設密碼,需要記住,如果沒有記住,就將後來生成的data文件刪除,再次生成也是可以的
F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T09:28:49.177043Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 12980
2018-10-29T09:29:19.270535Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kw3AlnY_g.Dg
2018-10-29T09:29:41.684599Z 0 [System] [MY-013170] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
3、然後安裝服務, mysqld --install[服務名] 如果只有一個服務可以不寫預設mysql,如果多個服務可以寫具體的服務名稱,XXXX,當回車之後,又出現錯誤, install/remove of the service deined,這是由於運行cmd的時候不是用管理員的身份運行的,只要再次以管理員的命令運行cmd就可以了,出現service successfully installed 說明服務安裝好了。
F:\mysql\mysql-8.0.11-winx64\bin>mysqld --install
Service successfully installed.
4、啟動服務,運行命令 : net start mysql ,看到服務已經啟動成功
F:\mysql\mysql-8.0.11-winx64\bin>net start mysql
MySQL 服務正在啟動 ....
MySQL 服務已經啟動成功。
5、更改密碼和密碼認證插件 ,
在MySQL安裝目錄的 bin 目錄下執行命令:mysql -u root -p
F:\mysql\mysql-8.0.11-winx64\bin>mysql -u root -p
Enter password: *******
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
這時要重新生成密碼,刪除data目錄,運行mysqld --initialize --console,
F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T10:04:23.337650Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 7928
2018-10-29T10:05:19.210237Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: RXZG!fJR2Ly+
2018-10-29T10:06:00.603070Z 0 [System] [MY-013170] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
重新執行mysql -u root -p,填入密碼(註意密碼左右沒有空格),這時會列印出相關的信息
F:\mysql\mysql-8.0.11-winx64\bin>mysql -u root -p
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 '新密碼';,出現下麵情況就證明你已經修改成功。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '5502yulijian.';
Query OK, 0 rows affected (0.17 sec)