首先登录数据库
[root@www ~]# MysqL -uroot -p
Enter password:
第一种方式使用grant直接创建和授予权限:
MysqL>grant all privileges on qiuhom.* to qiuhom_db1@localhost identified by 'admin123.com';
以上语句表示创建一个qiuhom_db1的用户并且给予用户qiuhom库下的所有表的权限,并设置密码为admin123.com,我们可以通过show grants for qiuhom_db1@localhost;来查看用户的权限
MysqL> show grants for qiuhom_db1@localhost;
+-------------------------------------------------------------------------------------------------------------------+
| Grants for qiuhom_db1@localhost |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'qiuhom_db1'@'localhost' IDENTIFIED BY PASSWORD '*2D9AC2437F9E59A51BE8BA89A3D59E76F32F55E8' |
| GRANT ALL PRIVILEGES ON `qiuhom`.* TO 'qiuhom_db1'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
第二种方式是先创建用户然后在授权
MysqL>create user qiuhom_db2@localhost identified by 'admin123.com'; ####创建qiuhom_db2@localhost用户,并设置密码为admin123.com
MysqL>grant all on qiuhom.* to qiuhom_db2@localhost; ####给qiuhom_db2@localhost授权
查看权限
MysqL> show grants for qiuhom_db2@localhost;
+-------------------------------------------------------------------------------------------------------------------+
| Grants for qiuhom_db2@localhost |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'qiuhom_db2'@'localhost' IDENTIFIED BY PASSWORD '*2D9AC2437F9E59A51BE8BA89A3D59E76F32F55E8' |
| GRANT ALL PRIVILEGES ON `qiuhom`.* TO 'qiuhom_db2'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
提示:以上两种方式都是MysqL数据库创建用户和授权用户的权限,需要注意的是第二种方式授权后面不需要有密码,创建好用户后不授权是可以登录的,只是登录后不能操作任何数据库包括查看都没有。
关于远程用户权限
grant all privileges on *.* to 'root'@'10.0.0.18' identified by 'admin06' with grant option;
说明:解释下上面的命令,其中*.* 表示的是所有库的所有表 就是整个数据库的所有文件的 。后面的root是表示给那个用户授权,这里是root再后面的ip就是授权的运行登录的服务器地址,这里注意下,假设要授权为任何主机都可以来访问的话,我们这里就要设置成%比如:'root'@'%'就表示任一主机上的root都可以来访问,'%'@'10.0.0.18'就表示18上的任一用户都可以来访问,'%'@'%'就表示任一主机的任一用户都可以来访问,再后面的by ××× 就是用户登录的密码 在后面with grant option 就表示授权为管理员,其实授权的命令和其他命令都可以经数据库里面用help命令去查看帮助,比如不清楚grant的用法 可以help grant 就可以看到详细的解释,关于授权我们还可以用直接修改其MysqL库里面的user表里面的user字段和host字段,比如将host字段的值改为%就表示在任何客户端机器上能以root用户登录到MysqL服务器,如下所示
update user set host = ’%’ where user = ’root’;