[DB] How to initialize the mysql version 5.7.19+

New photo by WuNan Lin / Google Photos

自從 mysql_install_db 在 5.7 慢慢被淘汰後

每次需要初始化資料庫都覺得陌生,常常拜訪 google 也不是辦法

索性就記錄一下自己的方式

當看到這段訊息時

mysql_install_db is deprecated. please consider switching to mysqld

所謂的 mysqld 的用法就像這樣

mysqld --initialize --user=root --datadir=/var/lib/mysql &

然後接著會產生隨機 root 密碼

root@localhost:# cat /var/log/mysqld.log | grep password
2018-01-09T03:10:17.331632Z 1 [Note] A temporary password is generated for root@localhost: BhuA7biArI=x

程序跑完就可以啟動資料庫服務了,並用剛剛的 temporary password login

root@localhost:# /etc/init.d/mysql start &
root@localhost:# mysql -u root -p

做任何操作前都必須要先修改密碼

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

用 SET PASSWORD 修改當下 User Session 的密碼

mysql> SET PASSWORD = PASSWORD('new_password');
mysql> FLUSH PRIVILEGES;

Done.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *