1. 程式人生 > >使用mysqld初始化資料庫

使用mysqld初始化資料庫

在MySQL 官網上下載了一個Windows版本MySQL Community Server,而沒有下載MySQL Intaller,導致使用過程中遇到了一些小麻煩。MySQL Community Server不像MySQL Installer那樣會在安裝過程中進行一些必要的基礎配置,而是需要在下載解壓後使用命令進行一些必要的初始化配置才能使用。此文就簡單記錄一下Windows使用mysqld進行初始化data的過程,自己也是看的MySQL官方文件(建議還是使用MySQL Installer吧),連結如下https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html

首先進入到MySQL Community Server下載解壓後的目錄,假設是D:\mysql-5.7.24-winx64,有個bin子目錄,裡面就是MySQL的命令了,此文的主角mysqld就在裡面。執行如下命令之一:

D:\mysql-5.7.24-winx64>bin\mysqld --initialize --console
D:\mysql-5.7.24-winx64>bin\mysqld --initialize-insecure --console

如此隨機產生的使用者名稱是root,也可通過增加--user=username來指定使用者名稱。--initialize和--initialize-insecure的區別是--initialize會為使用者隨機生成一個密碼,而且這個密碼會被設定為過期的,需要從新設定一個。

如果mysqld命令不能識別出mysql的目錄,也可以通過增加引數幫助mysqld識別,比如:

D:\mysql-5.7.24-winx64>bin/mysqld --initialize --user=mysql --basedir=D:\mysql-5.7.24-winx64 --datadir=D:\mysql-5.7.24-winx64\data

我們還可以建立一個配置檔案,把一些選項放在配置檔案中,然後在執行mysqld時指定配置檔案即可。一個可能的配置檔案如下my.ini

[mysqld]
basedir=D:\\mysql-5.7.24-winx64
datadir=D:\\mysql-5.7.24-winx64\\data

在執行mysqld時通過使用--defaults-file=D:\mysql-5.7.24-winx64\my.ini來指定配置檔案(該引數必須放在第一個)。

下面就說一下在使用--initialize初始化時如何修改密碼。 在初始化data後,啟動mysql服務,使用mysql命令登陸資料庫。使用命令mysql -u root -p命令,會提示輸入密碼,把方才隨機產生的密碼輸入,這樣就登陸到了資料庫,然後執行命令ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';即可。建議大家去看看官方文件來獲取更多相關資訊。