MySQL配置文件
一.Linux
1.MySQL5.7
**MySQL 5.7 配置文件示例(适用于 Linux)**
[client] port=3306 # 设置mysql客户端默认字符集 default-character-set=utf8 # 指定MySQL客户端用来与MySQL服务器通信的本地socket文件的位置。当使用UNIX域套接字连接MySQL时,这个选项是必需的 socket=/var/lib/mysql/mysql.sock [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 # 禁用反向DNS解析,以提高连接性能。这在客户端IP地址无法解析或解析缓慢的情况下特别有用。 skip-name-resolve # 指定MySQL服务器监听的端口号。默认情况下,MySQL服务器监听端口3306。 port=3306 # 指定MySQL服务器使用的UNIX域套接字文件的位置。客户端可以通过这个socket文件连接到服务器。 socket=/var/lib/mysql/mysql.sock [mysqld] # 服务器端口 port=3306 # MySQL 的安装目录 basedir=/usr/local/mysql # MySQL 的数据目录 datadir=/var/lib/mysql # 错误日志文件 log-error=/var/log/mysqld.log # 进程 ID 文件 pid-file=/var/run/mysqld/mysqld.pid # 二进制日志文件存放路径 log-bin=/var/mysql-bin # 最大连接数 max_connections=8000 # 允许的最大包大小 max_allowed_packet=512M # 打开表缓存的大小 table_open_cache=256 # 排序缓冲区大小 sort_buffer_size=256K # 索引缓存大小 key_buffer_size=8M
# 指定MySQL内部临时表的最大大小。如果一个查询需要创建临时表 tmp_table_size=2G
# InnoDB 使用缓冲池来缓存数据和索引,以提高读写性能。但是,这也意味着更多的内存消耗。 innodb_buffer_pool_size=5G # InnoDB 使用日志文件来记录所有的修改操作,以支持崩溃恢复。但是,这也意味着更大的磁盘空间消耗。 innodb_log_file_size=5G # 启用二进制日志 log-bin=mysql-bin # 二进制日志格式 binlog-format=ROW # 默认存储引擎 default-storage-engine=InnoDB # 设置服务器ID server-id=1
# 定义了MySQL应该以怎样的方式执行SQL语句。`sql_mode`是一组可以控制MySQL数据库行为的规则和选项。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2.MySQL8.0
**MySQL 8.0 配置文件示例(适用于 Linux)**
[client] port=3306 # 设置mysql客户端默认字符集 default-character-set=utf8mb4 # 指定MySQL客户端用来与MySQL服务器通信的本地socket文件的位置。当使用UNIX域套接字连接MySQL时,这个选项是必需的 socket=/var/lib/mysql/mysql.sock [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 # 禁用反向DNS解析,以提高连接性能。这在客户端IP地址无法解析或解析缓慢的情况下特别有用。 skip-name-resolve # 指定MySQL服务器监听的端口号。默认情况下,MySQL服务器监听端口3306。 port=3306 # 指定MySQL服务器使用的UNIX域套接字文件的位置。客户端可以通过这个socket文件连接到服务器。 socket=/var/lib/mysql/mysql.sock [mysqld] # 服务器端口 port=3306 # MySQL 的安装目录 basedir=/usr/local/mysql # MySQL 的数据目录 datadir=/var/lib/mysql # 错误日志文件 log-error=/var/log/mysqld.log # 进程 ID 文件 pid-file=/var/run/mysqld/mysqld.pid # 二进制日志文件存放路径 # 注意:为了避免数据库自动生成日志,造成磁盘空间满了情况,可以禁用数据库日志功能 log-bin=/var/mysql-bin # 最大连接数 max_connections=8000 # 允许的最大包大小 max_allowed_packet=512M # 打开表缓存的大小 table_open_cache=256 # 排序缓冲区大小 sort_buffer_size=256K
# 指定MySQL内部临时表的最大大小。如果一个查询需要创建临时表 tmp_table_size=2G
# InnoDB 使用缓冲池来缓存数据和索引,以提高读写性能。但是,这也意味着更多的内存消耗。 innodb_buffer_pool_size=5G # InnoDB 使用日志文件来记录所有的修改操作,以支持崩溃恢复。但是,这也意味着更大的磁盘空间消耗。 innodb_log_file_size=5G # InnoDB 表数据可以存储在单个文件中,或者每个表存储在一个单独的文件中。当设置为 `ON` 时,每个表的数据和索引将存储在单独的文件中。当设置为 `OFF` 时,所有表的数据和索引存储在一个共享的文件中。 innodb_file_per_table=ON # 索引缓存大小 key_buffer_size=8M # 启用二进制日志 log-bin=mysql-bin # 二进制日志格式 binlog-format=ROW # 默认存储引擎 default-storage-engine=InnoDB # 设置服务器ID server-id=1
# 定义了MySQL应该以怎样的方式执行SQL语句。`sql_mode`是一组可以控制MySQL数据库行为的规则和选项。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
二.windows
1.MySQL5.7
**MySQL 5.7 配置文件示例(适用于 Windows Server)**
[client] port=3306 # 设置mysql客户端默认字符集 default-character-set=utf8 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 服务器端口 port=3306 # MySQL 的安装目录 basedir=C:\Program Files\MySQL\MySQL Server 5.7 # 的数据目录 datadir=C:\ProgramData\MySQL\Data\ # 错误日志文件 log-error=C:\ProgramData\MySQL\Logs\mysqld.log # 进程 ID 文件 pid-file=C:\ProgramData\MySQL\PID\mysqld.pid # 二进制日志文件存放路径 # 注意:为了避免数据库自动生成日志,造成磁盘空间满了情况,可以禁用数据库日志功能 log-bin=C:\ProgramData\MySQL\Data\mysql-bin # 最大连接数 max_connections=8000 # 允许的最大包大小 max_allowed_packet=512M # 打开表缓存的大小 table_open_cache=256 # 排序缓冲区大小 sort_buffer_size=256K # 索引缓存大小 key_buffer_size=8M # 指定MySQL内部临时表的最大大小。如果一个查询需要创建临时表。 tmp_table_size=2G # InnoDB 使用缓冲池来缓存数据和索引,以提高读写性能。但是,这也意味着更多的内存消耗。 innodb_buffer_pool_size=5G # InnoDB 使用日志文件来记录所有的修改操作,以支持崩溃恢复。但是,这也意味着更大的磁盘空间消耗。 innodb_log_file_size=5G # 启用二进制日志 log-bin=mysql-bin # 二进制日志格式 binlog-format=ROW # 默认存储引擎 default-storage-engine=InnoDB # 设置服务器ID server-id=1
# 定义了MySQL应该以怎样的方式执行SQL语句。`sql_mode`是一组可以控制MySQL数据库行为的规则和选项。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2.MySQL8.0
**MySQL 8.0 配置文件示例(适用于 Windows Server)**
[client] port=3306 # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 服务器端口 port=3306 # MySQL 的安装目录 basedir=C:\Program Files\MySQL\MySQL Server 8.0 # MySQL 的数据目录 datadir=C:\ProgramData\MySQL\MySQL Server 8.0\Data\ # 错误日志文件 log-error=C:\ProgramData\MySQL\MySQL Server 8.0\Logs\mysqld.log # 进程 ID 文件 pid-file=C:\ProgramData\MySQL\MySQL Server 8.0\PID\mysqld.pid # 二进制日志文件存放路径 # 注意:为了避免数据库自动生成日志,造成磁盘空间满了情况,可以禁用数据库日志功能 log-bin=C:\ProgramData\MySQL\MySQL Server 8.0\Data\-bin # 最大连接数 max_connections=8000 # 允许的最大包大小 max_allowed_packet=512M # 打开表缓存的大小 table_open_cache=256 # 排序缓冲区大小 sort_buffer_size=256K
# 指定MySQL内部临时表的最大大小。如果一个查询需要创建临时表 tmp_table_size=2G
# InnoDB 使用缓冲池来缓存数据和索引,以提高读写性能。但是,这也意味着更多的内存消耗。 innodb_buffer_pool_size=5G # InnoDB 使用日志文件来记录所有的修改操作,以支持崩溃恢复。但是,这也意味着更大的磁盘空间消耗。 innodb_log_file_size=5G # InnoDB 表数据可以存储在单个文件中,或者每个表存储在一个单独的文件中。当设置为 `ON` 时,每个表的数据和索引将存储在单独的文件中。当设置为 `OFF` 时,所有表的数据和索引存储在一个共享的文件中。 innodb_file_per_table=ON # 索引缓存大小 key_buffer_size=8M # 启用二进制日志 log-bin=mysql-bin # 二进制日志格式 binlog-format=ROW # 默认存储引擎 default-storage-engine=InnoDB # 设置服务器ID server-id=1
# 定义了MySQL应该以怎样的方式执行SQL语句。`sql_mode`是一组可以控制MySQL数据库行为的规则和选项。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION