linux用mysqldump备份数据库遇到问题Got error: 1045: Access denied for user 'root'@'localhost' (using password:

来源:互联网 发布:php注册登录系统源码 编辑:程序博客网 时间:2024/04/30 06:12

解决办法(这部分是看到网友们的)

登录mysql客户端

mysql -hserverip -uroot -p

mysql> update user set password=password('new password') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit


执行完了以上操作步骤之后,再执行备份,依然报同样的错,最终解决办法是在备份命令上也要加上-h serverip,但是我公司一台普通主机装了linux系统,放了一些公司内部用的系统,备份时就没有出现这个问题。虽然最终问题是解决了,但是原理还是不知道,求知道的大神告诉我一下,感激不尽


---------------------------------------------------------------------------分割线=--------------------------------------------------------------------------------------------------

以上是自己备份mysql时发生1405错误,今天帮隔壁公司安装一个hr软件,要设置数据库时在window系统又发生了这样的错误,按照以上的方法在命令加-hserverip竟然也还行不行,各种百度,解决方案大都也是像上面一样修改一下root用户的密码,问题是在执行mysql -uroot -ppassword这句命令登录mysql也是报1405。最终在一篇博客上找到 解决方法,方法如下:

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 privilges;(刷新数据库),再输入quit(退出数据库)


5.最后一步就是在my.ini里面把之前加入的skip-grant-tables删除或用#注释掉。再重启mysql。之后再用mysql -uroot -ppassword登录就不会再报1405了






0 0
原创粉丝点击