MySQL 远程登陆踩坑记
MySQL 远程登陆
这里以 windwos 平台为例。
当你没有做任何 mysql 数据库的配置,在另一台机器上远程访问 mysql 时候会报错:
命令行远程登陆
mysql -h192.168.1.1 -uroot -p -P3306
1130 - Host 'xxxx' is not allowed to connect to this MySQL server
此时你会想到会不会是没有给用户添加远程访问的权限,于是连接远程机器,进入mysql,使用select user,host from mysql.user='root'
,查看发现,果然 root 用户只有localhost
登陆的权限。
于是使用grant all privileges on *.* to root@'localhost' identified by '123456';
然后使用flush privileges;
刷新权限。
退出exit
使用net stop mysql
停止mysql服务
使用net start mysql
启动mysql服务
然后再次登陆
使用select user,host from mysql.user='root'
发现有远程登陆的权限了
然后回到远程的主机
使用navicate或者直接远程登陆,发现还是报错,无法登陆。
然后在网上找了n多的解决办法,还是不行。
最后再次使用net stop mysql
之后,进入进程管理,发现mysql服务还是在启动的状态。。。
于是手动停止了关于mysql的所有的进程。
之后再次启动mysql,可以在控制面板—》管理工具—》服务下启动,或者直接使用net start mysql
启动。
此时远程登陆mysql发现可以了,主要还是没有真正的重启mysql服务器。
免密登陆
- 停止服务器
net stop mysql
在mysql.ini文件中添加
[client]
host=localhost
user="root" #如是普通用户输入用户名即可
password="******" #这里填入你的mysql root(普通用户)用户对应的密码
保存退出后 重新启动MySQL数据库即可
- 停止服务器后
还是在刚刚的文件中添加
重启之后,直接skip-grant-tables
mysql -uroot -p
回车之后就可以登陆了。
本作品采用《CC 协议》,转载必须注明作者和本文链接