怎么给mysql开启远程访问权限

怎么给mysql开启远程访问权限,第1张

1、改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改

"mysql"

数据库里的

"user"

表里的

"host"

项,从"localhost"改称"%"

mysql

-u

root

-pvmwaremysql>use

mysql

mysql>update

user

set

host

=

'%'

where

user

=

'root'

mysql>select

host,

user

from

user

2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT

ALL

PRIVILEGES

ON

*.*

TO

'myuser'@'%'IDENTIFIED

BY

'mypassword'

WI

TH

GRANT

OPTION

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT

ALL

PRIVILEGES

ON

*.*

TO

'myuser'@'192.168.1.3'IDENTIFIED

BY

'mypassword'

WITH

GRANT

OPTION

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句

mysql>FLUSH

RIVILEGES

使修改生效,就可以了

另外一种方法:

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql

-h

localhost

-u

root

//这样应该可以进入MySQL服务器

2、mysql>GRANT

ALL

PRIVILEGES

ON

*.*

TO

'root'@'%'WITH

GRANT

OPTION

//赋予任何主机访问数据的权限

3、mysql>FLUSH

PRIVILEGES

//修改生效

4、mysql>EXIT

//退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦。

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.

1:设置mysql的配置文件

/etc/mysql/my.cnf

找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;

重启mysql:/etc/init.d/mysql restart

2:登录mysql数据库:mysql -u root -p

mysql>use mysql

查询host值:

mysql>select user,host from user

如果没有"%"这个host值,就执行下面这两句:

mysql>update user set host='%' where user='root'

mysql>flush privileges

或者也可以执行:

mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx'

其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;

‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION

mysql>flush privileges

IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION

mysql>flush privileges

MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机。

1,设置访问单个数据库权限

复制代码

代码如下:

mysql>grant

all

privileges

on

test.*

to

'root'@'%'

说明:设置用户名为root,密码为空,可访问数据库test

2,设置访问全部数据库权限

复制代码

代码如下:

mysql>grant

all

privileges

on

*.*

to

'root'@'%'

说明:设置用户名为root,密码为空,可访问所有数据库*

3,设置指定用户名访问权限

复制代码

代码如下:

mysql>grant

all

privileges

on

*.*

to

'liuhui'@'%'

说明:设置指定用户名为liuhui,密码为空,可访问所有数据库*

4,设置密码访问权限

复制代码

代码如下:

mysql>grant

all

privileges

on

*.*

to

'liuhui'@'%'

IDENTIFIED

BY

'liuhui'

说明:设置指定用户名为liuhui,密码为liuhui,可访问所有数据库*

5,设置指定可访问主机权限

复制代码

代码如下:

mysql>grant

all

privileges

on

*.*

to

'liuhui'@'10.2.1.11'

说明:设置指定用户名为liuhui,可访问所有数据库*,只有10.2.1.11这台机器有权限访问

还可以设置指定访问某个数据库下的某个数据表,请继续关注MySQL基础知识系列。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11843710.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存