论坛首页 综合技术论坛

mysql一些常用命令,语句-逐步完善中

浏览 6535 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-09   最后修改:2011-03-10

以下假定当前用户具有最大权限

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权限。使用与GRANTREVOKE相同的格式为每个 账户命名;例如,'jeffrey'@'localhost'。 账户名称的用户和主机部分与用户表记录的UserHost列值相对应。

使用DROP USER,您可以取消一个账户和其权限,操作如下:

DROP USER user;

该语句可以删除来自所有授权表的帐户权限记录。

要点:DROP USER不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。这是有意设计的。

 

 

 

4、用户权限管理

GRANTREVOKE语句允许系统管理员创建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] ...
中括号里的内容是可选参数

对于GRANTREVOKE语句,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 USERREVOKE ALL PRIVILEGES

CREATE VIEW

允许使用CREATE VIEW

DELETE

允许使用DELETE

DROP

允许使用DROP TABLE

EXECUTE

允许用户运行已存储的子程序

FILE

允许使用SELECT...INTO OUTFILELOAD DATA INFILE

INDEX

允许使用CREATE INDEXDROP 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 LOGSSET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections

UPDATE

允许使用UPDATE

USAGE

“无权限”的同义词

GRANT OPTION

允许授予权限

 

例子 GRANT ALL ON test.* TO 'guest'@'localhost'

 

   发表时间:2011-03-15  

作为新手还得慢慢的学,要学的东西还很多呀!

0 请登录后投票
   发表时间:2011-03-16  
yangleisx 写道
加95443740 一起学习java

哥们,这是qq号? 我查了怎么是新疆的,而且似乎是女的
0 请登录后投票
   发表时间:2011-03-16  
zk1878 写道
yangleisx 写道
加95443740 一起学习java

哥们,这是qq号? 我查了怎么是新疆的,而且似乎是女的

群号。。。
0 请登录后投票
   发表时间:2011-03-16  
zk1878 写道
yangleisx 写道
加95443740 一起学习java

哥们,这是qq号? 我查了怎么是新疆的,而且似乎是女的

女的还不好啊。。。机会来了。。。
0 请登录后投票
   发表时间:2011-03-23  
呵呵 一篇文章认识个MM 还不好呀 !~~  BZ 也在深圳呀
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics