你看看mysql数据库中user表的内容就明白了,查看的SQL:
select from mysqluser
mysql里面用户,是上面表的前两个字段host、user共同决定的,如果你只需要从一个固定的IP登录过来,例如19216811,那么你需要在user表中增加一条记录host=19216811、user=root。如果你希望从所有机器都能登录root,那么需要此表有一条记录host=%、user=root
为了迁移mysql到oracle,采用了oracle的sql developer工具,并下载了mysql
jdbc驱动(为了让sql developer连接mysql)
为了从oracle sql developer远程以root连接mysql
1
2
3
mysql> GRANT ALL PRIVILEGES ON TO root@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (000 sec)
mysql>
在设置root账户密码时,可以选择是否允许其从远程访问。默认情况下是不允许的。
在命令行下,可以有两种大同小异的方法来作此设置:
(1)
1
2
3
mysql>GRANT ALL PRIVILEGES ON TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
第一句增加了一个root用户授权通过本地机(localhost)访问,密码逗something地。
第二句则是使用通配符,授与root用户从任何其它主机发起的访问。
(2)亦可直接使用update语句修改user表:使用root用户或其他用户登录mysql,转到mysql数据库
1
2
3
4
5
update user set host='localhost' where user='root';
flush privileges;//只允许root在本机登录
update user set host='%' where user='root';
flush privileges;//允许root远程访问
注意,以上一定要加flush语句。
另外,如果要建新用户,则用grant语句比较方便,记住语句grant总是创建新用户。
例如我目前的库:
mysql> select host,user from user;
+-----------+--------+
| host | user |
+-----------+--------+
| % | mytest |
| % | root |
| localhost | mytest |
| localhost | root |
+-----------+--------+
4 rows in set (000 sec)
root和mytest都既能本地连,也能远程连
以上就是关于如何打开MySQL中root账户的远程登录全部的内容,包括:如何打开MySQL中root账户的远程登录、mysql授权远程访问%为什么root不行、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)