以下假定当前用户具有最大权限
1、修改某个表的引擎类型
ALTER TABLE tablename ENGINE = MyISAM
注:mysql的引擎类型常用的有MyISAM、ISAM、HEAP、BerkeleyDB、InnoDB,MERGE
MyISAM是默认的类型,如果不指定,则建表时表类型为MyISAM,该类型不支持事务
要支持事务一般都有InnoDB,其他类型不大清楚了
各个引擎各有特点,优劣,使用视技术水平、具体业务而定
2、查看某个表的元信息
如查看engine,字符集,字符校验,创建时间等信息
这些信息存储在系统数据库information_schema的表tables中,只需给出数据库和表名,即可获取某个表的信息
select * from information_schema where TABLE_SCHEMA=dbname and TABLE_NAME=tableName
另外,系统似乎也有特殊的命令显示这些信息
3、用户创建于与删除
3-1、CREATE USER语法
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一个新记录。如果 账户已经存在,则出现错误。
使用自选的IDENTIFIED BY子句,可以为账户给定一个密码。user值和 密码的给定方法和GRANT语句一样。特别是,要在纯文本中指定密码,需忽略PASSWORD关键词。要把 密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD。
创建的用户默认具有最小权限
例子: create user u1
3-2、DROP USER语法
DROP USER user [, user] ...
DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,您必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。使用与GRANT或REVOKE相同的格式为每个 账户命名;例如,'jeffrey'@'localhost'。 账户名称的用户和主机部分与用户表记录的User和Host列值相对应。
使用DROP USER,您可以取消一个账户和其权限,操作如下:
DROP USER user;
该语句可以删除来自所有授权表的帐户权限记录。
要点:DROP USER不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。这是有意设计的。
4、用户权限管理
GRANT和REVOKE语句允许系统管理员创建MySQL用户 账户,授予权限和撤销权限
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON [object_type] {tbl_name | * | *.* | db_name.*}
TO user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
[REQUIRE
NONE |
[{SSL| X509}]
[CIPHER 'cipher' [AND]]
[ISSUER 'issuer' [AND]]
[SUBJECT 'subject']]
[WITH with_option [with_option] ...]
object_type =
TABLE
| FUNCTION
| PROCEDURE
with_option =
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON [object_type] {tbl_name | * | *.* | db_name.*}
FROM user [, user] ...
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
中括号里的内容是可选参数
对于GRANT和REVOKE语句,priv_type可以被指定为以下任何一种:
权限
|
意义
|
ALL [PRIVILEGES]
|
设置除GRANT OPTION之外的所有简单权限
|
ALTER
|
允许使用ALTER TABLE
|
ALTER ROUTINE
|
更改或取消已存储的子程序
|
CREATE
|
允许使用CREATE TABLE
|
CREATE ROUTINE
|
创建已存储的子程序
|
CREATE TEMPORARY TABLES
|
允许使用CREATE TEMPORARY TABLE
|
CREATE USER
|
允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
|
CREATE VIEW
|
允许使用CREATE VIEW
|
DELETE
|
允许使用DELETE
|
DROP
|
允许使用DROP TABLE
|
EXECUTE
|
允许用户运行已存储的子程序
|
FILE
|
允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
|
INDEX
|
允许使用CREATE INDEX和DROP INDEX
|
INSERT
|
允许使用INSERT
|
LOCK TABLES
|
允许对您拥有SELECT权限的表使用LOCK TABLES
|
PROCESS
|
允许使用SHOW FULL PROCESSLIST
|
REFERENCES
|
未被实施
|
RELOAD
|
允许使用FLUSH
|
REPLICATION CLIENT
|
允许用户询问从属服务器或主服务器的地址
|
REPLICATION SLAVE
|
用于复制型从属服务器(从主服务器中读取二进制日志事件)
|
SELECT
|
允许使用SELECT
|
SHOW DATABASES
|
SHOW DATABASES显示所有数据库
|
SHOW VIEW
|
允许使用SHOW CREATE VIEW
|
SHUTDOWN
|
允许使用mysqladmin shutdown
|
SUPER
|
允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
|
UPDATE
|
允许使用UPDATE
|
USAGE
|
“无权限”的同义词
|
GRANT OPTION
|
允许授予权限
|
例子 GRANT ALL ON test.* TO 'guest'@'localhost'
分享到:
相关推荐
正在逐步完善中整理不易,你的叉、星就是我的动力题库非常全面包含了Java基础、容器、多线程、JVM、并行编程、MySQL、Redis、MongoDB、Spring、SpringBoot、Mybatis、SpringCloud、Dubbo、Zookeeper、Kafka、Nginx、...
SELECT语句是最基本也是最重要的SQL命令之一,用于从数据库中检索数据。其一般语法如下: ```sql SELECT column1, column2, ... FROM table_name [WHERE condition] [GROUP BY column] [HAVING condition] [ORDER ...
- **详细解释**:MySQL提供了一套完善的权限管理系统,可以通过GRANT语句授予用户对特定数据库对象(如数据表、视图、存储过程和存储函数等)的不同级别权限。这意味着用户可以根据需要精确地控制谁可以访问哪些数据...
同时,安装过程中还可以选择添加Python到PATH环境变量,这样在任何目录下都可以直接运行Python命令。 其次,“VSCodeUserSetup-x64-1.59.1.exe”是Visual Studio Code的安装程序,这是一个非常流行的代码编辑器,...