欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySql允许远程连接如何实现该功能

程序员文章站 2023-12-10 22:43:58
 mysql允许远程连接如何实现该功能 要达到这个目的需要实现两点 开通用户权限 解除本地绑定 开通用户权限 首先登陆服务器端的mysq...

 mysql允许远程连接如何实现该功能

要达到这个目的需要实现两点

  1. 开通用户权限
  2. 解除本地绑定

开通用户权限

首先登陆服务器端的mysql

//不使用空格可以直接登陆
mysql -u用户名 -p密码

mysql> use mysql
mysql> select user, host from user;

效果图

MySql允许远程连接如何实现该功能

执行了代码以后会看到所有的用户以及对应的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;

下面是全局的权限列表

全局管理权限:

file: 在mysql服务器上读写文件。
process: 显示或杀死属于其它用户的服务线程。
reload: 重载访问控制表,刷新日志等。
shutdown: 关闭mysql服务。

数据库/数据表/数据列权限:

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的服务即可生效

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!