MySQL--從零開始(2)

SHOW GRANTS
SHOW GRANTS for root@localhost
 
MySQL用户账户管理
 
增加新用户账户

可以用两种方式创建MySQL账户:

· 使用GRANT语句

· 直接操作MySQL授权表

删除用户账户 DROP USER
mysql> GRANT ALL ON customer.* TO 'francis'@'localhost'
    ->     IDENTIFIED BY 'frank'
    ->     WITH MAX_QUERIES_PER_HOUR 20
    ->          MAX_UPDATES_PER_HOUR 10
    ->          MAX_CONNECTIONS_PER_HOUR 5
    ->          MAX_USER_CONNECTIONS 2;
要想取消已有限制,将该值设置为零
要想将所有账户当前的记数重设为零,可以执行FLUSH USER_RESOURCES语句。还可以通过重载授权表来重设记数(例如,使用FLUSH PRIVILEGES语句或mysqladmin reload命令)。

计数器重设不影响MAX_USER_CONNECTIONS限制。

当服务器启动时所有记数从零开始。

重设密码 SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
 
SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。
SET SESSION var_name语句来更改动态会话变量。设置会话变量不需要特殊权限,但客户可以只更改自己的会话变量,而不更改其它客户的会话变量。
mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;
mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;
auto_increment_increment控制列中的值的增量值
auto_increment_offset确定AUTO_INCREMENT列值的起点
如果auto_increment_offset的值大于auto_increment_increment的值,则auto_increment_offset的值被忽略
auto_increment_increment和auto_increment_offset所示的值可以生成系列5 + N * 10,即,[5,15,25,35,45,...]。在INSERT前col 列内最大的值为31,AUTO_INCREMENT数列的下一个值为35,因此col中插入的值从该点开始
 

设置用户变量的一个途径是执行SET语句:

SET @var_name = expr [, @var_name = expr] ...

对于SET,可以使用=或:=作为分配符。分配给每个变量的expr可以为整数、实数、字符串或者NULL值。

也可以用语句代替SET来为用户变量分配一个值。在这种情况下,分配符必须为:=而不能用=,因为在非SET语句中=被视为一个比较 操作符:

mysql> SET @t1=0, @t2=0, @t3=0;
mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;

如果使用没有初始化的变量,其值是NULL。

在HAVING、GROUP BY或者ORDER BY子句中,不能使用包含SELECT列表中所设的变量的表达式。例如,下面的语句不能按期望工作:

mysql> SELECT (@aa:=id) AS a,(@aa+3) AS b from tbl_name HAVING b=5

 

要想设置一个GLOBAL变量的值,使用下面的语法:

mysql> SET GLOBAL sort_buffer_size=value;
mysql> SET @@global.sort_buffer_size=value;

要想设置一个SESSION变量的值,使用下面的语法:

mysql> SET SESSION sort_buffer_size=value;
mysql> SET @@session.sort_buffer_size=value;
mysql> SET sort_buffer_size=value;

LOCAL是SESSION的同义词。

 

要想检索一个GLOBAL变量的值,使用下面的语法:

mysql> SELECT @@global.sort_buffer_size;
mysql> SHOW GLOBAL VARIABLES like 'sort_buffer_size';

要想检索一个SESSION变量的值,使用下面的语法:

mysql> SELECT @@sort_buffer_size;
mysql> SELECT @@session.sort_buffer_size;
mysql> SHOW SESSION VARIABLES like 'sort_buffer_size';
posted @ 2013-03-18 20:36  邪见  阅读(108)  评论(0)    收藏  举报