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

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

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

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

开通用户权限

首先登陆服务器端的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;

下面是全局的权限列表

全局管理权限:

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

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

(0)

相关推荐

  • MySQL数据库远程连接开启方法

    第一中方法:比较详细以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL 数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程. 1.d:\MySQL\bin\>MySQL -h localhost -u root 这样应该可以进入MySQL服务器 复制代码 代码如下: MySQL>update user set host = '%' where user = 'root'; MySQL&g

  • mysql 远程连接数据库的方法集合

    1.改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 复制代码 代码如下: mysql -u root -pvmwaremysql>use mysql; mysql>update user set host =

  • 远程连接mysql 授权方法详解

    今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库. 方案一: 在安装mysql的机器上运行: 1: 创建user用户 复制代码 代码如下: CREATE USER demo IDENTIFIED BY "123456" 2. 复制代码 代码如下: mysql>GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH G

  • navicat无法远程连接mysql的解决方法

    近日在Ubuntu上安装了一个 MySQL 5.0,因为使用 phpMyAdmin 还必须安装 PHP,所以打算直接使用远程管理工具Navicat for MySQL 来连接. 在 Ubuntu 中通过 mysql 命令行创建好一个数据表并分配了权限: 复制代码 代码如下: GRANT ALL ON testdb.* TO usera IDENTIFIED BY 'passwd' 然后重启加载权限: 复制代码 代码如下: mysqladmin –uroot –p flush-privileges

  • 配置mysql允许远程连接的方法

    vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysql -uroot -p123456 为需要远程登录的用户赋予权限: 复制代码 代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";mysql> flush privileges; 远程登录命令

  • 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    在进行 ping和route后发现网络通信都是正常的,而且在mysql机器上进行本地连接发现是很快的,所以网络问题基本上被排除了.以前也遇到过一次这样的问题,可后来就不知怎么突然好了,这次又遭遇这样的问题,所以想看看是不是mysql的配置问题.在查询mysql相关文档和网络搜索后,发现了一个配置似乎可以解决这样的问题,就是在mysql的配置文件中增加如下配置参数: [mysqld]skip-name-resolve 在linux下配置文件是/etc/my.cnf,在windows下配置文件是my

  • MYSQL不能从远程连接的一个解决方法(s not allowed to connect to this MySQL server)

    如果你想连接你的mysql的时候发生这个错误: 复制代码 代码如下: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解决方法: 1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从&

  • MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)

    最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接mysql是总是提示: 复制代码 代码如下: Lost connection to MySQL server at 'reading initial communication packet', system error: 0 很明显这是连接初始化阶段就丢失了连接的错误. google半天大多是说的注释掉配置文件中 bind-address = 127.0.0.1 这一句. 但是我的配置文件并没有配

  • 解决MySQL无法远程连接的方法

    MySql远程连接无法打开解决办法 1.改表法. 请使用mysql管理工具,如:SQLyog Enterprise.navicate mysql 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑使用mysql管理工具登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 2. 授权法.

  • mysql开启远程连接(mysql开启远程访问)

    复制代码 代码如下: //建议设置固定IPmysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIED BY "root";mysql> flush privileges;//修改防火墙iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

随机推荐