mysql error 1044 (42000):access denied for user ''@'l...解決


   error 1044 (42000):access denied for user ''@'l...解決

    今天試着用不同方式 備份數據,發現一個問題:

    用outfile備份沒權限限制問題:

    

1 SELECT * FROM information_schema.TABLES INTO OUTFILE 'E:\\ts.txt'
2 FIELDS TERMINATED BY ',' ENCLOSED BY '"'
3 LINES TERMINATED BY '\r\n';

 但用mysqldump就存在權限問題:

  

mysqldump -u root -p information_schema > E:\\tmp\\dump.txt

  因為是對  information_schema庫操作所有就存在這個權限問題  如果是對新建的庫是不存在的哈!

    解決辦法有:

    

方法一:
在my.ini的[ mysqld]字段加入: 
skip-grant-tables
重啟mysql服務,這時的mysql不需要密碼即可登錄數據庫
然后進入mysql 
mysql>use mysql;
mysql>update user set password=password('新密碼') WHERE User='root'; 
mysql>flush privileges;
運行之后最后去掉my.ini中的skip-grant-tables,重啟mysqld即可。
 
修改mysql密碼方法二:
不使用修改my.ini重啟服務的方法,通過非服務方式加skip-grant-tables運行mysql來修改mysql密碼
停止mysql服務
打開命令行窗口,在bin目錄下使用mysqld-nt.exe啟動,即在命令行窗口執行: 
mysqld-nt --skip-grant-tables
然后另外打開一個命令行窗口,登錄mysql,此時無需輸入mysql密碼即可進入。
按以上方法修改好密碼后,關閉命令行運行mysql的那個窗口,此時即關閉了mysql,如果發現mysql仍在運行的話可以結束掉對應進程來關閉。
啟動mysql服務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM