Navicat远程连接ubuntu上mysql所踩过的坑
装mysql就老套路几个命令行,其实连接本地也没遇到啥大问题,但是远程连接ubuntu上的mysql老遇到各种问题,我都佛了,以下为解决问题的过程中的记录。2019.1.24
出现问题之后网上就有一些回答说要把配置文件里的一行代码改了
原来
bind-address = 127.0.0.1
现在(即确保允许所有的IP都能连接数据库)
bind-address = 0.0.0.0
另外还要加上一行
skip-name-resolve
还要在mysql中授权,‘%’代表all host,这里的123456是密码,我有可能就是没有注意到这个密码然后后来一直把老密码当成新密码一直登不上。
grant all privileges on . to root@’%’ identified by ‘123456’;
刷新
flush privileges;
但是呢,这个过程中我又遇到一些问题,就是更改配置文件的时候因为是连接着所有的文件夹是root权限,所以还要更改一下权限,我这里直接把mysql下的所有权全部给了ubuntu(简单粗暴又省事儿),注意这里一定要用sudo
sudo chown -R ubuntu /ect/mysql
改完权限就可以愉快的去改配置文件啦啦
我还遇到的一个问题就是我连接的时候密码的问题
输入命令行,从这张图片可以看出来,有两个root用户,一个的权限是localhost。一个是所有,我一开始有可能就是授权的时候把这两个用户的密码搞混了所以一直都没有连接上。
那该怎么办呢,我这个记性老忘密码唉唉唉,不如把两个密码都改成一样的一了百了。
于是我又开始百度了,发现有一种做法是这样的
update user set password=password('新密码') where user='root';
但是这样会有问题,会报错
ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
但是不慌,换一种
update user set authentication_string=password('新密码') where user='root';