欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

linux用mysqldump备份数据库遇到问题Got error: 1045: Access de

程序员文章站 2022-05-26 22:01:33
...

解决办法(这部分是看到网友们的) 登录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

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

登录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了