关于mysql:MySQL是怎样运行的-第二章启动选项和系统变量

3次阅读

共计 2211 个字符,预计需要花费 6 分钟才能阅读完成。

启动选项和配置文件

启动选项

长模式
# 启动服务端时,禁止客户端应用 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 匹配的模式];
正文完
 0