这篇文章主要介绍了 MySql 允许远程连接如何实现该功能的相关资料, 需要的朋友可以参考下
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
MySql 允许远程连接如何实现该功能
要达到这个目的需要实现两点
开通用户权限
首先登陆服务器端的 MySQL
- //不使用空格可以直接登陆
- mysql -u用户名 -p密码
- mysql> use mysql
- mysql> select user, host from user;
效果图
执行了代码以后会看到所有的用户以及对应的 host
其中 host 的意思就是指允许访问的 Ip 地址,% 的意思就是任何 IP,当然如果是你的本地服务器,你也可以配置为本地的一个 IP。
用户可以通过 sql 语句来让 host 为全部即可
- //更新host, 这里要选择一个存在的user和host
- //user表中 user跟host合起来才是主键,所以不能重复,如上图所示,如果只查询root更新会报错
- mysql> update user set host = '%' where user = 'root' and host = 'localhost'
这样就修改了一个已存在的用户的权限。
Or
可以选择重新创建新的用户权限。
- // 当然也可以指定部分权限,比如只读之类的
- mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;
下面是全局的权限列表
全局管理权限:
数据库 / 数据表 / 数据列权限:
ALTER: 修改已存在的数据表 (例如增加 / 删除列) 和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示 / 搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事 (和 root 一样)。
USAGE: 只允许登录–其它什么也不允许做。
解除地址绑定
我之前开通了权限,但是本地的绑定还没有解除,所以本地通过命令行仍然不能连接到服务器数据库。后来看了一些资料才知道地址绑定这个东西。
我的服务器是 Ubuntu Server 服务器通过 apt-get 安装的 mysql,配置文件的位置如下:
/etc/mysql/my.conf
其中的一行就是 bind-address = 127.0.0.1
将其注释掉即可
如果是 windows 的服务器,应该是 my.ini 文件,需要到安装 mysql 的位置去找找了。
自此,本地可以通过 mysql -h host -r -p 来访问远程的 mysql 数据库了
当解除了地址绑定以后需要重启 mysql 的服务即可生效
来源: http://www.phperz.com/article/17/0317/324011.html