扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:\x0d\x0a1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:\x0d\x0a\x0d\x0amysql GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";\x0d\x0amysql flush privileges;\x0d\x0a\x0d\x0a第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";\x0d\x0a第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。\x0d\x0a\x0d\x0a2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:\x0d\x0a\x0d\x0a[ruby] view plain copy print?\x0d\x0abind-address = 127.0.0.1 \x0d\x0a\x0d\x0a将其注释掉,保存。\x0d\x0a\x0d\x0a3、重新启动MySQL服务器。执行下面的几条命令即可:\x0d\x0a# /usr/bin/mysqladmin -u root -p shutdown\x0d\x0a# /usr/bin/mysqld_safe \x0d\x0a\x0d\x0a如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:\x0d\x0a# whereis mysqladmin\x0d\x0amysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz\x0d\x0a\x0d\x0a执行完上面的三步后,就可以通过远程机器连接了数据库了。
专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业台安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
MySQL远程访问权限,允许远程连接的开启
1、登陆mysql数据库
mysql -u root -p
查看user表
mysql use mysql;
Database changed
mysql select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
2、实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
mysql use mysql;
Database changed
mysql grant all privileges on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)
mysql select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)
use mysql;
update user set host = '%' where user = 'root';
这样在远端就可以通过root用户访问Mysql.
在安装mysql的机器上运行:
1、d:\mysql\bin\mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流