Mysql5.7配置文件

Mysql5.7配置文件

    • [`初始化数据库之前`修改`my.cnf`----配置持久化键(persistence key)](#初始化数据库之前修改my.cnf----配置持久化键(persistence key))

初始化数据库之前修改my.cnf----配置持久化键(persistence key)

使用utf8mb4而不是utf8https://blog.csdn.net/omaidb/article/details/106481406

https://blog.csdn.net/fdipzone/article/details/52705507

shell 复制代码
# 查看mysql启动时读取配置文件的默认目录
mysql --help|grep 'my.cnf'

优先级顺序:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /usr/local/etc/my.cnf
  • ~/.my.cnf

修改配置前先备份

shell 复制代码
# 备份原配置
cp /etc/my.cnf{,.bak}

注意:

如果是yum安装的maridb, 将mysql5.7的默认配置文件中的log-errorpid-file的值为maridb目录,修改为mysql

注意修改字符集
https://blog.csdn.net/omaidb/article/details/106481406

shell 复制代码
# MySQL 服务器配置文件
[mysqld]
# 数据保存路径--默认参数,指定数据库文件存储的目录
# datadir=/var/lib/mysql
# socket 文件路径--默认参数,指定 MySQL 使用的 socket 文件
# socket=/var/lib/mysql/mysql.sock

# 错误日志路径--默认参数,记录 MySQL 错误日志的文件路径
# log-error=/var/log/mysqld.log
# pid 文件路径--默认参数,存储 MySQL 进程 ID 的文件路径
# pid-file=/var/run/mysqld/mysqld.pid

# --- 字符集和排序规则 ---
# 设置服务器默认字符集为 utf8mb4,支持更多字符(如表情符号)
character-set-server=utf8mb4
# 设置服务器默认排序规则为 utf8mb4_unicode_ci,支持多语言排序
collation-server=utf8mb4_unicode_ci

# 客户端握手字符集,禁用客户端请求的字符集,强制使用服务器默认字符集
character-set-client-handshake=FALSE
# 初始化连接时设置字符集为 utf8mb4
init_connect='SET NAMES utf8mb4'

# 创建新表时使用的默认存储引擎,推荐使用 INNODB,支持事务和外键
## https://www.runoob.com/w3cnote/mysql-different-nnodb-myisam.html
default-storage-engine=INNODB

# --- 连接处理 ---
# 忽略客户端字符集请求,强制使用服务器默认字符集(utf8mb4)和排序规则(utf8mb4_unicode_ci)
# 这能确保所有用户 (包括 SUPER) 的一致性,并使设置 names/collation 的 init_connect 变得多余
skip-character-set-client-handshake

# --- 性能优化 ---
# 禁用 DNS 解析以加快连接速度,建议在 GRANT 中使用 IP 地址
skip-name-resolve

# 禁用符号链接以防止安全风险
symbolic-links=0


# 移除了 init_connect 行,因为它们与 skip-character-set-client-handshake 存在冲突/冗余
# init_connect='SET collation_connection = utf8mb4_unicode_ci' # 此行被下一行覆盖
# init_connect='SET NAMES utf8mb4' # 由于 skip-handshake 和服务器默认值,此行变得多余


# --- 客户端配置 ---
# 影响所有客户端应用程序 (mysql, mysqldump, 连接器等)
[client]
# 设置客户端默认字符集为 utf8mb4,确保与服务器一致
default-character-set=utf8mb4

# --- mysqldump 配置 ---
[mysqldump]
# 设置 mysqldump 默认字符集为 utf8mb4,确保导出文件的字符集一致性
default-character-set=utf8mb4

# --- mysql 客户端配置 ---
## 如果设置了 [client],[mysql] 部分是冗余的,但保留也无害
## 连接其他 MySQL 服务器时使用的默认字符集
[mysql]
# 设置 mysql 客户端默认字符集为 utf8mb4,确保与服务器一致
default-character-set=utf8mb4
相关推荐
识途老码3 天前
Mysql8配置文件
mysql8·my.cnf
树下一少年3 个月前
统信V20 1070e X86系统编译安装mysql-5.7.44版本以及主从构建
信创·mysql5.7·统信uos 1070e·编译安装数据库
飞翔沫沫情4 个月前
MySQL5.7主从同步配置
mysql·mysql5.7·mysql主从配置
mack5 个月前
mysql5.7.44 64位版本下载
mysql5.7
林戈的IT生涯7 个月前
MySQL5.7中增加的JSON特性的处理方法JSON_EXTRACT和JSON_ARRAY_APPEND以及MYSQL中JSON操作的方法大全
json·mysql5.7·json特性·json_extract·mysql中json操作方法
程序猿 M1 年前
分组排序取第一条数据 SQL写法
数据库·sql·mysql5.7
爱北的琳儿1 年前
宝塔面板安装了mysql5.7和phpMyadmin,但是访问phpMyadmin时提示502 Bad Gateway
mysql5.7·宝塔面板·phpmyadmin·502 bad gateway
PerCheung1 年前
Windows系统下使用docker-compose安装mysql8和mysql5.7
windows·mysql·docker·容器·mysql5.7
天狼12221 年前
windows安装mysql5.7
windows·安装·mysql5.7