Ubuntu18.04配置MySQL8.0远程登录
Ubuntu18.04配置MySQL8.0远程登录
安装MySQL8.0
Ubuntu18.04LTS是目前Ubuntu最新的长期支持版本(long term support),安装教程可以自行按照网上的教程安装,只是有一点需要注意:在选择加密方式时选择,请选择:"MySQL5.x(兼容)"方法,这种方式尽量让你避免后面的很多坑(16.04貌似没有问题)
配置远程登录
首先在shell中登录MySQL客户端,输入以下命令登录MySQL客户端
mysql -u root -p ****
利用root登录用户登录成功后输入一下命令:
- 选择mysql数据库
use mysql;
- 将mysql数据库中的user表中的root用户的host字段改为%(%代表所有的主机都可以访问)
update user set host=% where user=root;
- 更新一下权限,输入以下命令:
flush privileges;
经过上面的测试后就可以进程远程登录了
测试
经过上面的步骤后,MySQL就可以通过root用户来进行远程访问了,下面进行一下测试。我是通过Python来操作MySQL的,因此我就在远程主机上利用Python来操作MySQL。在这里声明一下,我的python版本是3.7.
- 安装pymysql,在终端下输入以下命令
pip install pymysql
- 在python中我们编写程序来进行测试,在测试环境中我们通过查询远程MySQL服务器上的users表来进行查询
import pymysql
if __name__ == '__main__':
connect = pymysql.connect(host='***.***.***.***',user='root',port=3306,passwd='****',database='mysql',charset='utf8')
cursor = connect.cursor()
cursor.execute('select host, user from user where user=root')
print(cursor,fetchone())
cursor.close()
connect.close()
各位请自行将上面星号部分替换为自己MySQL主机的IP地址,用户名,密码。通过运行上面的程序我们可以看到成功查询到root用户的host和user字段。
希望上面的内容对大家有所帮助~