提到數據初始化, 那估計是因爲單純了拷貝了mysql的程序, 但沒有把數據文档夾拷過來。否則就是因爲某種原因,技術員想重置掉mysql服務器裡的數據。做這件事情之前,務必要考慮清楚自己在干什麽。數據丟了不要來罵。
用一個命令解決:
./mysqld --initialize --console
有時會報錯誤, 找不到mysqld, 怎麽解決?
whereis mysql find / -name "mysqld"
查找到底這個mysqld程序在哪裡
重置完了root密碼進不去
不要天真了, 不可能進不去的。初始化之後, 控制台會用英文列印出隨機的一套密碼, 初始化的命令執行之後, 請仔細閲讀後面那段英文。
之後使用下方命令進入mysql服務器
mysql -uroot -p
一般這個時候系統開始報
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
執行下方語句, 重置新密碼否則什麽都不好使
ALTER user user() IDENTIFIED by '你的新密碼'; flush privileges;
無法重置, 報各種錯誤, 且無法啓動mysql服務
這個問題,很有可能數據目錄的權限問題, 在重置之前, 把mysql的數據目錄位置在my.cnf裡確認一下。假如mysql的數據目錄被你放到了/usr/local/mysql/var下面, 那麽執行這個命令:
chown -R mysql:mysql /usr/local/mysql/var
之後再重置就OK了。
如果是其他問題, 就需要看情況自行解決了。
請不要盲目地直接chmod -R 777 xxxx這樣子, 中了挖鑛機你就知道厲害了。