ubuntu18.04下远程连接MySQL数据库

1.ssh登录服务器

ssh ubuntu@192.168.1.1

2.安装mysql

sudo apt-get install mysql-server mysql-client

3. 测试是否安装成功

sudo netstat -tap | grep mysql

4.打开mysql配置文件

# 注意:不同 mysql 版本此配置文件位置和名字可能不同
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # mysql 5.7.23
#找到将bind-address = 127.0.0.1注销​
#bind-address            = 127.0.0.1

5.修改后,重启MySQL服务器

sudo /etc/init.d/mysql restart

6.重新登录mysql

mysql -uroot -p
## mysql>命令 begin
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
flush privileges;
## end
exit
  1. 第一个*是数据库,可以改成允许访问的数据库名称
  2. 第二个* 是数据库的表名称,*代表允许访问任意的表
  3. root代表远程登录使用的用户名,可以自定义
  4. %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
  5. password代表远程登录时使用的密码,可以自定义

7.检查MySQL服务器占用端口

netstat -nlt|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

我们看到从之间的网络监听从 127.0.0.1:3306 变成 0 0.0.0.0:3306,表示MySQL已经允许远程登陆访问。

8.将字符编码设置为UTF-8

cd /etc/mysql/

vi my.cnf

mysql5.7以上,该文件内容很少。我们直接在最后一行把下面内容添加到里面,保存退出。

[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

[mysql]

no-auto-rehash

default-character-set=utf8

9.修改后,重启MySQL服务器,并登录

sudo /etc/init.d/mysql restart
mysql -uroot -p 
mysql> SHOW VARIABLES LIKE ‘character%’;
#能够看到默认字符集已经变为utf8
exit

10.在本地远程连接

mysql -h 服务器ip地址 -P 3306 -u root -p

然后输入密码即可。

root是第6步数设置的用户名,密码也是第1点设置的密码

大功告成!

    原文作者:李弘靖
    原文地址: https://zhuanlan.zhihu.com/p/45166462
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞