Mysql下建立用户授权权限例子

用户授权在mysql中使用grant命令就可以了,我相信各位都会有了解过了,下面小编为各位介绍一个Mysql下建立用户授权权限例子,希望本文章对各位有帮助.

 
 

建立用户,授权数据库:

mysql> create user 'byrd'@'localhost' identified by 'admin123';    #建立主机为localhost,密码为admin123的用户byrd
Query OK, 0 rows affected (0.05 sec)
mysql> show grants for 'byrd'@'localhost';    #查看byrd权限,USAGE表示连接权限
+-------------------------------------------------------------------------------------------------------------+
| Grants for byrd@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'byrd'@'localhost' IDENTIFIED BY PASSWORD '*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
| root | lamp      |
| byrd | localhost |
| root | localhost |
+------+-----------+
5 rows in set (0.00 sec)
mysql> grant all on gbk.* to 'byrd'@'localhost';    #用户byrd、主机localhost对数据库gbk拥有所有权限
Query OK, 0 rows affected (0.01 sec)

mysql> show mysqls for 'byrd'@'localhost';
+-------------------------------------------------------------------------------------------------------------+
| Grants for byrd@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'byrd'@'localhost' IDENTIFIED BY PASSWORD '*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C' |
| GRANT ALL PRIVILEGES ON `gbk`.* TO 'byrd'@'localhost'                                                       |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> flush privileges;
mysql> grant all on gbk.* to test@'localhost' identified by 'admin123';    #建立用户test,用户gbk数据库所有权限,同上
mysql> show grants for 'test'@'localhost';
+-------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C' |
| GRANT ALL PRIVILEGES ON `gbk`.* TO 'test'@'localhost'                                                       |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
远程连接同上:

mysql> grant all on gbk.* to 'user'@'授权可连接主机' identified by 'admin123';    #这是Server端
[root@lamp ~]# /usr/local/mysql/bin/mysql -uroot -p'admin123' -h hk.t4x.org    #这是client端

补充:ALL PRIVILEGES权限包括:

mysql> show grants for 'byrd'@'localhost';
+-------------------------------------------------------------------------------------------------------------+
| Grants for byrd@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'byrd'@'localhost' IDENTIFIED BY PASSWORD '*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C' |
| GRANT ALL PRIVILEGES ON `gbk`.* TO 'byrd'@'localhost'                                                       |
+-------------------------------------------------------------------------------------------------------------+
mysql> revoke insert on `gbk`.* from 'byrd'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for byrd@'localhost';
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for byrd@localhost                                                                                                                                                                                                   |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'byrd'@'localhost' IDENTIFIED BY PASSWORD '*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C'                                                                                                                 |
| GRANT SELECT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `gbk`.* TO 'byrd'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
ALL PRIVILEGES权限包括:GRANT SELECT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT,insert

时间: 2024-08-30 02:47:47

Mysql下建立用户授权权限例子的相关文章

Mysql下查看用户、数据库的例子

命令行下查看用户.数据库: mysql> use gbk    #进入gbk数据库 Database changed mysql> show tables;    #查看gbk数据库的所有表 Empty set (0.00 sec) mysql> use ultrax; Reading table information for completion of table and column names You can turn off this feature to get a quic

mysql下普通用户备份数据库时无lock tables权限的解决方法_Mysql

[root@jb51.net]# mysqldump -u dbuser -ppass db > db.sql mysqldump: Got error: 1044: Access denied for user 'dbuser'@'localhost' to database 'db' when using LOCK TABLES 解决一: 加上-skip-lock-tables选项即可.即: [root@jb51.net]# mysqldump -u dbuser -ppass db --s

MySQL 授予普通用户PROCESS权限

    在MySQL中如何给普通用户授予查看所有用户线程/连接的权限,当然,默认情况下show processlist是可以查看当前用户的线程/连接的.     mysql> grant process on MyDB.* to test; ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES   第一次授予这样的权限,错误原因是process权限是一个全局权限,不可以指定在某一个库上(个人测试库为MyDB),

Lumen 5.2 用户授权的例子详解

1.简介 除了提供开箱即用的认证服务之外,Lumen还为资源的授权逻辑和访问控制提供了便捷的方法.你可以通过多种方法和辅助函数组织管理授权逻辑. 通常,Lumen中授权的使用和Laravel中一样,这里我们只讨论不同的地方,更多使用细节请参考完整的Laravel文档. 2.与Laravel的不同之处 定义权限(Abilities) 相对于Laravel,Lumen使用授权主要不同之处在于权限的定义,在Lumen中,你可以在AuthServiceProvider中简单使用Gate门面来定义权限:

MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包含2个阶段,一是服务器检查是否允许你连接:二是假定你能连接,服务器检查你发出的每个请求.看你是否有足够的权限实施它.本文主要描述MySQL权限系统相关的用户创建.授权.撤销权限等等. 1.获取有关权限管理的帮助 root@localhost[(none)]> help Account Management For more information, type

[20120813]grant与建立用户.txt

[20120813]grant与建立用户.txt oracle 下建立用户一般正常的可以使用:CREATE USER TEST1  IDENTIFIED BY    DEFAULT TABLESPACE USERS   TEMPORARY TABLESPACE TEMP  PROFILE DEFAULT  ACCOUNT UNLOCK; --并且还要grant一些权限. 而且在做试验或者测试时经常要建立一些用户,这个用户权限可能都是DBA(偷懒)! 实际上grant就可以直接搞定. 1.测试环境

mysql 添加用户,授权,远程登陆,远程导入导出数据库,用户及权限查询,新增用户无法登陆,

首先提示一点,当使用新增用户登陆失败: root@controller:~# mysql -h localhost -ukeystone -ppassword  ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES)解决方法:  增加普通用户后,执行:  mysql> use mysql mysql> delete from user where user=''; mysql

MySql学习笔记用户创建、授权、删除、改密码

对于mysql的用户管理,连接各个数据库时候最好不要用root帐号,需要分配对应的用户,保证mysql数据库的安全和方便用户管理. 一:用户创建 方法1:执行命令 mysql> CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 参数分析: username:用户名 host:指定用户可以登录的主机,本地登录的话是localhost,远程登录的话是 % 通配符,还可以指定单独的ip password:用户登录密码,不指定的话用户可以不输

向MySQL增加新用户权限

mysql|用户权限 你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用mysql客户安装新用户.这些例子假定权限根据以前的章节描述的缺省被安装.这意味着为了改变,你必须在mysqld正在运行同一台机器上,你必须作为MySQL root用户连接,并且root用户必须对mysql数据库有insert权限和reload管理权限.另外,如果你改变了root用户口令,你必须如