備注:環境為MySQL Community Server 8.0.19版本
第一步:先到官網下載,這里我下載的是綠色版鏈接:https://dev.mysql.com/downloads/mysql/
第二步:打開剛剛解壓的文件夾 C:\web\mysql-8.0.11 ,在該文件夾下創建 my.ini 配置文件,編輯 my.ini 配置以下基本信息:
[client] # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] # 設置3306端口 port = 3306 # 設置mysql的安裝目錄 basedir=C:\\web\\mysql-8.0.11 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 # datadir=C:\\web\\sqldata # 允許最大連接數 max_connections=20 # 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB
具體其他ini配置可參考這篇博客:https://blog.csdn.net/lienfeng6/article/details/78140404
第三步:以管理員身份運行控制台程序

首先切換到對應的文件夾:
cd E:\mysql-8.0.19-winx64\bin
初始化數據庫:(空格不可省略)
mysqld --initialize --console
執行完成后,會輸出 root 用戶的初始默認密碼,如:

光知道密碼還不夠,我們還需要安裝:
mysqld install
知道初始密碼后我們就可以登錄我們的mysql數據庫了,但是我們還要開啟mysql服務:
net start mysql 啟動mysql服務
net stop mysql 關閉mysql服務

服務啟動成功后我們就可以登錄我們的數據庫啦:
mysql -h 主機名 -u 用戶名 -p
- -h : 指定客戶端所要登錄的 MySQL 主機名, 登錄本機(localhost 或 127.0.0.1)該參數可以省略;
- -u : 登錄的用戶名;
- -p : 告訴服務器將會使用一個密碼來登錄, 如果所要登錄的用戶名密碼為空, 可以忽略此選項。
- 實例:
mysql -h 192.168.0.201 -P 3306 -u root -p123
成功效果:

失敗效果:失敗可能是服務沒開,配置不對,等等原因,具體原因具體分析

登錄成功后我們首先需要修改我們的初始密碼
8.0以前版本代碼
update user set password=password('你的密碼') where user='root' and host='localhost';
8.0以后版本
"ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';"
之后我們就可已創建我們的用戶和權限了
8.0之前
root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; +-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec)
8.0之后
mysql> grant all on *.* to 'admin'@'%' identified by 'admin123'; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'admin123'' at line 1 mysql> create user 'admin'@'%' identified by 'admin123'; Query OK, 0 rows affected (0.06 sec) mysql> grant all on *.* to 'admin'@'%' ; Query OK, 0 rows affected (0.04 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
