mysql命令,MySql一些常用的命令

以下假定当前用户具有最大权限
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
允许授予权限
Tags: 

延伸阅读

最新评论

发表评论