远程服务器上装好了mariadb(mysql数据库管理系统的一个分支),需要远程访问。
1. mysql默认开启的端口是3306,
查询方法:在远程服务器上登录mysql : mysql -uroot -p密码
选择系统数据库 : use mysql
查询’port‘变量信息 : show variables like 'port'
2. 修改当前端口绑定的地址
以我的mariadb为例,先查看当前端口信息 : netstat -an | grep 3306 ,发现3306端口绑定在127.0.0.1本地回旋地址上,需要修改。
编辑 vim /etc/mysql/mariadb.conf.d/50-server.cnf 文件,将文件中的 bind-address = 127.0.0.1 注释掉。保存退出。
再次查看3306端口绑定地址 netstat -an | grep 3306 , 发现已经没有绑定的ip了。
3. 需要在数据库表中,修改远程登陆用户的登录方式
首先在远程服务器上登录到数据库,选择系统数据库 use mysql ;, 通过show tables查看下mysql数据库中表信息,找到名为user的表,我们要修改的内容在这张表里面。desc user; 查看表结构,我们主要修改Host字段内容。 查询用户、登录ip信息: select user, Host from user;,可以看到root用户对应得host,正常为localhost,表示只能从本地主机登录,现将其修改为‘%’,表示不限ip: update user set host=‘%’ where user=‘root’,执行 flush privileges;使更改生效。
4. 远程登录
可以现在window上检查下远程服务器3306端口是否可用,cmd内输入 telnet 远程ip 3306,如果出现黑框或者里面有提示成功得内容,则表示该ip和端口可连。
因为我之前在windows中安装了ubuntu子系统,且在ubuntu子系统中安装了mysql,因此直接执行 : mysql -u 用户名 -h 远程IP地址 -p 随后输入密码。 即可登录到远程数据库。(前提是要确认远程数据库3306端口是否开放,mysql服务是否启动)
注意:写的是大概过程,没有放图,另外开启远程root登录 不安全!!!