失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用navicat连接虚拟机mysql出现错误代码()

用navicat连接虚拟机mysql出现错误代码()

时间:2022-05-11 11:22:01

相关推荐

用navicat连接虚拟机mysql出现错误代码()

今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,找了很多教程,折腾了许久,总算弄好了。下面说一下我的解决方法。

错误信息:

1.在windows下,cmd 输入

telnet 192.168.40.129 3306

其中ip是虚拟机的ip.如果连接失败

2.在虚拟机下输入

netstat -anp| grep 3306

如上图结果中显示mysql 3306前面的ip不是0.0.0.0

3.修改/etc/mysql/mysql.conf.d/f

把 bind-address = 127.0.0.1 改为 bind-address = 0.0.0.0

上面的意思是改为监听所有地址

开启MySQL远程访问权限 允许远程连接

方法一、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将"localhost"改为"%"

# mysql -uroot -pmysqlmysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

方法二、直接授权(推荐)

从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

# mysql -u root -proot mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限

FLUSH PRIVILEGES;

报错ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ 不予理会

使用 service 启动

service mysqld restart service mysql restart (5.5.7版本命令)

以为终于可以链接上了,结果又是1045错误,,折腾了一下,原来需要给更改mysql密码

一、拥有原来的myql的root的密码;

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

vim /etc/mysql/mysql.conf.d/f

在文档内搜索mysqld定位到[mysqld]文本段:

/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

二、忘记原来的myql的root的密码

方法三:

首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;

#service mysql stop

然后执行

# mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。

接着登陆MySQL修改密码

# mysqlmysql> use mysql;mysql> UPDATE user SET password=password("test123") WHERE user='root'; mysql> exit;

注意:如果Mysql的版本是5.7及以上的话update语句如下:

mysql> update user set authentication_string=passworD("test") where user='root';

折腾许久,总算大功告成,连接上了

如果觉得《用navicat连接虚拟机mysql出现错误代码()》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。