mysqldump命令怎么都报密码错误,但是用navicat可以连接上,密码是对的,stackOverflow都是说加各种参数,但没有用
原因:用了navicat修改了远程mysql的密码,导致用navicat可以连接,但是用相同的密码在服务器上不可用,一直报mysqldump:Got error: 1045: Access denied for user 'root'@',具体原因未知
解决方法:重新修改mysql密码即可,在服务器上修改
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';
mysql> flush privileges;
mysql> exit;
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。