win和ubuntu远程连接mysql的问题
若是需要设置mysql可以远程访问,则:
设置远程可以登录:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这样还不行就是防火墙了
win
看你的数据库中mysql数据库中的user表
sql:
use mysql
select host,user,authentication_string from user;
如果不是上图那样就修改
grant all privileges on *.* to root@'%' identified by "ou123456";
//添加一个 名为root的用户密码为ou123456 并且允许这个用户在所有的host下都可以访问这个数据库
这句可以替换成 updata user set host='%'where user='root' and host='localhost'
//也就是直接把上面的root的host改为%
接着
flush privileges; // 就是刷新
重启mysql服务
如果还不行,前看下面
就是本地防护墙的问题
设置防火墙放过mysql
这个里面没有就是在“允许其他应用”中找到你的mysql安装目录的bin目录下mysqld.exe添加进来
ubuntu
这一段参考了
解决Ubuntu远程连接mysql连不上的问题_裸睡的鱼-CSDN博客
在liunx中可使用 telnet来测试可以连接某个端口吗
telnet host 端口
看你的数据库中mysql数据库中的user表
use mysql
select host,user,authentication_string from user;
不一样的话
grant all privileges on *.* to root@'%' identified by "ou123456";
flush privileges;
然后重启mysql服务
还是不行的话
查看
找到mysql的目录 应该是/etc/mysql
修改配置文件my.cnf
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 //注释掉它
如果这个文件里面没有 `bind-address = 127.0.0.1 ‘
那就在修改 /etc/mysql/mysql.conf.d/mysqld.cnf
文件
这里使用sudo vim mysqld.cnf 要root权限才能修改
就这点问题,弄了一下午+加晚上 ,恶心透了 记录一下。。。
写到这里是 21:00