使用MySQL,可以在本地局域网测试,但很多情况下,我们需要通过给定的服务器及端口信息,来连接服务器上的数据库来进行操作。如何配置呢?
在服务器上安装好MySQL后,首先要启动mysqld服务。这样的话,我们可以使用安装时配置好的用户及密码,进行登录。默认情况下,服务器端上的MySQL环境只允许本地访问,原因在于:一个是在/etc/mysql/my.cnf文件中,没有绑定服务器的ip地址,一个是没有像客户端提供可供外部访问的用户权限。只要解决了这两个问题,就可以实现用此用户来远程登录服务器数据库了。
配置文件的修改
如果要求服务器上Mysql被远程,需要修改/etc/mysql/my.cnf文件。
- 确保skip-networking是被注释的,或者被删除
- 然后添加下面一行内容
bind-address=服务器IP
- 重启服务
sudo /etc/init.d/mysql restart
用户权限的提供
对于客户端来说,所提供的用户可以是自己新建的,对服务端数据库具体访问权限的,当然这个权限可以通过服务端来配置。
创建数据库
create database databasename;
这里可以创建数据库供客户端访问,当然也可以访问原有的数据库。
创建用户
create user 'username'@'%' identified by 'userpassword';
其中’%’表示客户端可以为任何ip,当然也可以明确规定客户端的ip地址。
授权用户
grant select,insert,update,delete on databasename.* to 'username'@'%';
这样用户在任何ip下的客户端,都可以直接对数据库databasename下的所有表进行操作。通过用户直接可以登陆MySQL查看它能访问的数据库,如图所示,配置好的用户能够访问MySQL中两个数据库。
如果客户端为Windows的话,还可以使用第三方工具访问,这里我们采用Navicat来访问,配置好服务器ip、数据库端口,及配置好权限的用户及密码,直接可以访问。
我们访问到的数据库,也是两个,而不是全部,这样就简单实现了在任何ip下有权限访问服务器端数据库了。
转载请注明:宁哥的小站 » 如何实现远程连接服务器MySQL