mysql怎么给予root权限

mysql怎么给予root权限,第1张

利用 GRANT 语句进行授权:

grant select on testdb.* to root@'%';

上述语句意思为只将对数据库testdb的查询权限授予root用户

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'

上述语句意思为将对所有数据库的所有权限都授权给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 (0.00 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 (0.00 sec)

root和mytest都既能本地连,也能远程连

1.用root或者运行mysqld的用户登录系统

2.利用kill命令结束掉mysqld的进程

3.使用--skip-grant-tables参数启动MySQL

Server

shell>mysqld_safe

--skip-grant-tables

&

4.为root@localhost设置新密码

shell>mysqladmin

-u

root

flush-privileges

password

"newpassword"

5.重启MySQL

Server


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

原文地址: http://outofmemory.cn/zaji/6119299.html

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

发表评论

登录后才能评论

评论列表(0条)

保存