
正文
mysql怎么设置访问 mysql怎么设置用户权限
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样设置才能允许外网访问MySQL
设置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;
或者也可以执行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
相关问答
Q1: 如何设置mysql允许远程访问?局域网访问?
第一步打开mysql客户端,输入连接密码,按回车键。
第二步输入“use mysql”,进去mysql数据库
第三步输入“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;”,创建一个允许远程访问的用户,用户名是root,密码是123456
第四步输入“flush privileges;”,进行更新权限,如下图所示:
5/5
第五步更新权限之后,就可以远程连接mysql数据库了
希望可以帮到您,感谢您的采纳。
Q2: 如何设置mysql远程访问及防火墙设置?
打开mysql服务器,然后使用下面的命令模式:
mysqlusemysql;
mysqlGRANTALLON*.*TOadmin@'%'IDENTIFIEDBY'admin'WITHGRANTOPTION;
解决方法:
1,控制面板打开防火墙,在进入规则中新建一个规则.
2.选择端口,然后下一步
3.选择TCP端口,填80,3306端口号按下一步
4.选择允许所有连接
5下一步全选.
Q3: 如何设置mysql远程访问
Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问
在MySQL Server端:
执行mysql 命令进入mysql 命令模式,
Sql代码
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
那么如何远程访问呢?
在另一台MySQL 客户端(装有mysql程序包的pc ,windows或者是linux均可)
执行命令:
Sql代码
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户
引用
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
Sql代码
mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin
结果是失败的。
原来 上面的 % 竟然不包括localhost
所以你还必须加上这样的 命令
mysqlGRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
Q4: mysql 怎么设置本机访问权限
方法/步骤
1
在未配置MySQL之前,根据MySQL服务端的信息,用navicate客户端进行连接测试,如图一、图二所示
2
在MySQL所在机器上登录root用户,如图三所示
3
切换到mysql库,并查看user表,如图四所示
use mysql;
select host,user,password from user;
4
修改host列的用户,建议修改localhost用户,如图五所示
执行命令如下:
update user set host = '%' where host = 'localhost';
select host,user,password from user;
flush privileges;
5
再次用navicate客户端进行连接测试,如图六所示
END
FAQ
1
为什么只改一条呢?
因为%代表了任何ip地址均可以访问此mysql库,所以只有一条%记录即可,多条无意义,如需根据不同的ip、不同用户有不同的权限访问,可设置为多条。
2
为什么只是修改某条user记录,而不是insert一个用户呢?
因为新增的用户,相关权限是没有的,如果新纪录的各项都设置为Y,则权限过大,如果新纪录的各项都设置为N,则权限过小,远程登录之后,无法进行其他操作。
关于mysql怎么设置访问和mysql怎么设置用户权限的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






