《MySQL是怎样运行的》- 第二章-启动选项和系统变量

启动选项和配置文件

启动选项

长形式
#启动服务端时,禁止客户端使用TCP/IP网络进行通信
mysqld --skip-networking
或
mysql --skip_networking
或
mysqld --skip-networking

#启动客户端时,设置默认存储引擎
mysqld --default-storage-engine=MyISAM
短形式
#客户端连接mysql服务器
mysql -h[主机] -P[端口] -u[用户] -p[密码]

配置文件

配置文件路径
#windows下:
[MySQL安装路径]\my.ini defaults-extra-file
#linux下:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf defaults-extra-file
配置文件内容

配置文件中都是分组配置的,以下时程序和配置分组的对应关系

mysql:[mysql]、[client]

mysqld:[mysqld]、[server]

mysqld_safe:[mysqld]、[server]、[mysql_safe]

mysqld.server:[mysqld]、[server]、[mysqld.server]

client:[client]、[mysql]

mysqldump:[client]、[mysqldump]

mysqladmin:[client]、[mysqladmin]

配置文件优先级
  1. 优先级排序,低优先级会最后读取,所以低优先级文件会覆盖高优先级的文件内容
/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf 
  1. 如果同一个配置吹出现在不同组之中,下面的配置覆盖上面的配置
  2. 如果设置了--defaults-file,那么defaults-file的优先级最高,就算没有对应的路径,也不会去其他路径找配置文件,会直接抛出异常。
  3. 命令行优先级大于配置文件

系统变量

查看系统变量
mysql> show variables like 'max_%';
+----------------------------+----------------------+
| Variable_name              | Value                |
+----------------------------+----------------------+
| max_allowed_packet         | 67108864             |
| max_binlog_cache_size      | 18446744073709547520 |
| max_binlog_size            | 1073741824           |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| max_connect_errors         | 100                  |
| max_connections            | 151                  |
| max_delayed_threads        | 20                   |
| max_digest_length          | 1024                 |
| max_error_count            | 1024                 |
| max_execution_time         | 0                    |
| max_heap_table_size        | 16777216             |
| max_insert_delayed_threads | 20                   |
| max_join_size              | 18446744073709551615 |
| max_length_for_sort_data   | 4096                 |
| max_points_in_geometry     | 65536                |
| max_prepared_stmt_count    | 16382                |
| max_relay_log_size         | 0                    |
| max_seeks_for_key          | 18446744073709551615 |
| max_sort_length            | 1024                 |
| max_sp_recursion_depth     | 0                    |
| max_user_connections       | 0                    |
| max_write_lock_count       | 18446744073709551615 |
+----------------------------+----------------------+
22 rows in set (0.00 sec)

设置系统变量
通过启动选项设置
  • 通过命令行添加启动参数设置系统变量

    • 当使用命令行添加启动参数设置系统变量时,系统变量各个单词之间必须使用下划线(_)
  • 通过配置文件设置系统变量
服务器运行过程中设置

设置GLOBAL(全局范围)系统变量

mysql> SET GLOBAL default-storage-engine=MyISAM;
mysql> SET @@GLOBAL.default-storage-engine=MyISAM;

设置SESSION(会话范围)系统变量

mysql> SET SESSION default-storage-engine=MyISAM;
mysql> SET @@SESSION .default-storage-engine=MyISAM;
mysql> SET default-storage-engine=MyISAM;

查看不同作用范围系统变量

mysql> SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];

状态变量

状态变量是mysql服务器维护的程序运行状态信息

查看不同作用范围的状态变量

mysql> SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];

你可能感兴趣的:(mysql)