赞
踩
在我们初学MySQL的时候,一般都是在本地安装MySQL数据库,并且使用命令行或者Navicat连接,所以往往会忽略掉如何远程连接MySQL这个知识点,这太过局限,然而在实际运维中,访问数据库通常是远程的方式(抛开网络安全问题),大大提高开发效率。但MySQL默认是不开起远程连接的,所以需要一定的配置。
tips:
1.当前教程需要读者对MySQL的基础有所了解。
2.本教程使用Windows和Linux Ubuntu演示,CentOS用户在重启MySQL服务器会有所不同。
查看MySQL是否在运行
开启远程连接
my.ini
配置文件,通常在C:\ProgramData\MySQL\MySQL Server X.X\
(其中X.X是你所使用的MySQL数据库版本),在该目录下会有my.ini
配置文件。[mysqld]
部分找到bind-address
,默认的值是127.0.0.1,我们需要修改为0.0.0.0。若在[mysqld]
部分中没有bind-address
,那就自己创建一个,创建方式为:bind-address = 0.0.0.0
,配置完后保存即可。cat
命令查看一下是否是我们需要修改的配置文件:sudo cat /etc/mysql/my.cnf
,接下来配置方式和Windows方式相同,修改/创建bind-adress
并且修改值!includedir
这些内容时,那么可能是采用引用的方式配置,这时需要进入/etc/mysql/mysql.conf.d
目录下,进入mysqld.cnf
文件下去修改bind-adress
值。Windows下重启
net stop mysql80 # 关闭MySQL服务
net start mysql80 # 启动MySQL服务
Linux下重启
sudo systemclt restart mysql.service # 若是非Ubuntu系统,重启方式可能不太一样
由于MySQL的root用户是比较敏感的身份,这里建立新的用户来进行远程登录。
创建新用户
CREATE USER 'your_name'@'%' IDENTIFIED BY 'your_password';
your_name
的用户,%
为任意远程主机都可连接(如果只想让指定主机连接,那就可以设置该主机IP进去),your_password
为用户的密码。用户名和密码根据你的方式来。授予权限
GRANT ALL PRIVILEGES ON *.* TO 'your_name'@'%';
GRANT ALL PRIVILEGES
是授予your_name
这个用户的所有的权限(具体权限可根据你的方式来);ON *.*
是对所有数据库和所有的表生效;TO 'your_name'@'%'
表示将权限授予给your_name
的用户,%
表示该用户可以从任何IP地址连接到数据库。重新加载授权表
FLUSH PRIVILEGES;
查看用户是否创建成功。
SELECT host,user FROM mysql.user
%
,那么你的用户就创建完成了。远程连接必须确保你能跟服务器通信,并且3306端口(默认端口)未被防火墙阻拦。
使用MySQL数据库命令连接
mysql -h <MySQL Servers IP> -u <USER> -p
使用Navicat连接
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。