利用 GRANT 语句进行授权。
具体步骤如下:
1、首先使用一个没有权限的账号链接mysql,成功之后执行:show databases;这时会发现没有权限的用户只能看到一个数据库,mysql和test等数据库是看不到的;
2、如果已经安装了phpmyadmin,打开127.0.0.1/phpmyadmin,在菜单栏找到用户,然后找到没有权限的用户,点击编辑权限;
3、跳转到设置页面,找到全局权限,在全选checkbox打勾,点击右下角的执行,完成后该用户就获得了mysql数据库的所有权限;
4、再次用该账号再次链接mysql,链接成功后执行:show databases;你会发现所有数据库都会显示出来,而且使用该账号可以进行任意编辑;
5、也可以直接在cmd窗口命令行设置,设置权限的命令为:
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost'GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0
你只要会 *** 作SQL语句就行了,数据库mysql里面有个user表,查看user="root"的记录,把host不为localhost的都删除就可以了。一般另外一条记录的host为%
我本打算在我的服务器执行一下,把结果给你看,但是我的服务器上已经没用了远程root用户,我执行的过程如下:
E:\mysql5.0.51a\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 41
Server version: 5.0.51a-community-log MySQL Community Edition (GPL)
Type 'help' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql
Database changed
mysql> select host,user from user where user="root"
+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
2 rows in set (0.02 sec)
如果执行上面的语句,你发现了远程root用户,那么你可以用下面的语句删除它:
delete from user where user="root" and host!="localhost"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)