MySQL创建用户以及授权
首先登录数据库
[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’;
作者:Linux-1874
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.