mysqldump 备份的问题

请输入图片描述

问题一

在键入命令mysqldump -uroot(用户名) -proot(密码) pref_123456(数据库名) > /root/a.sql时报如下错误:

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

解决办法:
修改/etc/my.cnf配置添加以下语句

[mysqldump]
user=root #----为备份用户名 
password=root # ----为用户密码 

然后重启mysql

问题二

在键入命令mysql -uroot -proot 时报错如下:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决办法:

1.在mysql的安装目录下,找到mysql的配置文件my.ini,在[mysqld]这个条目下加入skip-grant-tables(登录时不使用授权表),保存,重启mysql。
2.之后在cmd输入mysql -uroot -p按回车,出现password,直接回车可以成功登录mysql,不会报1405了。
3.在显示mysql>的命令行里输入use mysql,回车,再输入update user set password=password("新密码") where user="root";
4.输入flush privileges;(刷新数据库),再输入quit;或者exit;(退出数据库)
5.最后一步就是在my.ini里面把之前加入的skip-grant-tables删除或用#注释掉。再重启mysql。之后再用mysql -uroot -ppassword登录就不会再报1405了

问题三

在键入命令mysqldump -uroot -proot pref_827146 > /root/aa.sql时,报错如下:

mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Got error: 1449: The user specified as a definer ('dev'@'%') does not exist when using LOCK TABLES!

解决办法:

只要给root用户再添加一个对全部host都有可以访问的权限 操作如下:

登陆mysql

mysql -u root -pPasswd
mysql >grant all privileges on . to root@"%" identified by "Passwd"
mysql >flush privileges;

发表评论

发表评论