昨晚遇到的數據庫問題一直沒有找到解決方法,今天早晨來了,從新google一下,而後再按照步驟執行如下,發下ok了。呵呵。步驟以下:html
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用戶密碼都修改爲非空的密碼就好了。
mysql> FLUSH PRIVILEGES;
mysql> quitmysql
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>sql
摘自:http://huangyifa163.blog.163.com/blog/static/262875752011127102215790/。數據庫
添加:原本覺得以上就ok了,誰知道在win7上鍊接ubuntu的mysql服務器的時候,仍然出現問題,是想修改一下權限,用GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'password',提示access denied ''@'%' ……。又是查找一番,突然發現有種寫法是GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'password',就是root不加‘’,我覺得找到問題了,因而重啓,準備實驗一下,誰知道重啓後,再鏈接,ok了。呵呵呵,原來就是上面寫的密碼修改好了就ok了。ubuntu
再添加:個人用mysql客戶端是heidiSQL,由於以前公司用的是這個,這個軟件用着小巧,可是功能強大,界面佈局顏色感受也很不錯,因此,如今還用它。用它鏈接ubuntu的mysql服務器,每次都提示ERROR (1045)#0: Access denied for user 'root'@'192.168.1.123' (using password: YES),有時候又能夠,最後才認定是個人系統的網絡驅動有點問題,鏈接時候會出現異常。服務器
add:ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: YES)網絡
開始的時候,mysql的錯誤提示如以前所遇到的,就按照以上的步驟去解決,而此次在執行grant權限操做時候,以上一個錯誤出現了。這個錯誤開始沒放在心上,處理的方法仍是按照以前的步驟進行的,可是問題依舊,搞得我一點精神都沒有。沒辦法,昨天已經搞了一天了,今天要解決啊,因而,對於遇到的每一個錯誤,都google解決方案,查看錯誤緣由,最後解決方案找到了,並且鏈接成功:摘自http://2828602.blog.51cto.com/2818602/769788ide
錯誤緣由是mysql的密碼有問題,用mysql匿名用戶能夠進入數據庫,可是看不見mysql數據庫.佈局
解決辦法:ui
具體操做步驟:
關閉mysql:
# service mysqld stop
而後:
# mysqld_safe --skip-grant-tables (這一步貌似在我這一直執行不完似的,最後強制中止了它,繼續下面的操做)
啓動mysql:
# service mysqld start
mysql -u root
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
mysql> flush privileges;
mysql>\q
到這裏密碼已經修改爲功,
mysql -u root -p
輸入剛纔設置的密碼,就能夠成功登錄。
以上是在ubuntu下,如今在win7下安裝mysql,安裝時候忘配置了,而後也遇到了之上的相似錯誤,解決方法好像有所不一樣,用UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';,一直提示語法錯誤,好吧,從新找答案:http://blog.sina.com.cn/s/blog_7b8e2cf30100z7qs.html就ok了,以下:
登錄root用戶並修改密碼
mysql -u root -p
Enter Password: #不輸入直接回車默認密碼
進入mysql> #mysql命令行
set password for 'root'@'localhost' = password('123456');
set password for 'root'@'127.0.0.1' = password('123456');