您的位置:首页 > 数据库 > MySQL

mysql学习笔记(1)

2013-02-06 17:56 141 查看
查看mysql支持的引擎:

SHOW ENGINES;

SHOW VARIABLES LIKE 'have%';

mysqld_safe:MySQL服务器启动脚本

默认情况下,mysqld_safe尝试启动可执行mysqld-max(如果存在),否则启动mysqld

要想越过默认行为并显式指定你想要运行哪个服务器,为mysqld_safe指定--mysqld或--mysqld-version选项。

mysqld_safe从选项文件的[mysqld]、[server]和[mysqld_safe]部分读取所有选项。

查看所有my.cnf配置项:

1. 可使用SHOW VARIABLES查看

http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-system-variables

2. 可通过命令/usr/local/mysql/libexec/mysqld --verbose --help

可以执行下面的命令为每个服务器设置一个普通multi_admin账户,并且赋予shutdown权限:

shell> mysql -u root -S /tmp/mysql.sock -proot_password

mysql> GRANT SHUTDOWN ON *.* -> TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';

各程序读取配置文件中组的关系:

mysqld从[mysqld]和[server]组读取选项

mysqld_safe从[mysqld]、[server]、[mysqld_safe]和[safe_mysqld]组读取选项

mysql.server从 [mysqld]和[mysql.server]组读取选项

嵌入式MySQL服务器通常从[server]、[embedded]和[xxxxx_SERVER]组读取选项,其中xxxxx是服务器嵌入的应用程序名。

服务器系统变量:

1. mysqld服务器维护两种变量:

全局变量影响服务器的全局操作;

会话变量影响具体客户端连接相关操作。

2. 全局系统变量的设置方式:

服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。

服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。

要想更改全局变量,必须具有SUPER权限。

3. 会话系统变量的设置方式:

客户可以通过SET SESSION var_name语句来更改动态会话变量。

设置会话变量不需要特殊权限,但客户可以只更改自己的会话变量,而不更改其它客户的会话变量。

4. 使用set命令设置系统变量:

使用SET语句来设置系统变量。此时,不能使用后缀,但值可以采取下列表达式:

mysql> SET sort_buffer_size = 10 * 1024 * 1024;

要想显式指定是否设置全局或会话变量,使用GLOBAL或SESSION选项:

mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;

mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;

两个选项均没有,则语句设置会话变量。

任何访问全局变量的客户端都可以看见对全局变量的更改。

但是,它只影响在更改后连接的从该全局变量初始化相应会话变量的客户端。

它不会影响已经连接上的客户端的会话变量(甚至是执行SET GLOBAL语句的客户端)。

当使用启动选项设置变量时,变量值可以使用后缀K、M或G分别表示千字节、兆字节或gigabytes。

可以通过SHOW VARIABLES语句查看系统变量及其值

可以通过SHOW STATUS语句查看服务器状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: