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