Mysql5.7配置文件

发布于:2025-04-15 ⋅ 阅读:(40) ⋅ 点赞:(0)

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

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

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

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

在这里插入图片描述
优先级顺序:

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

修改配置前先备份

# 备份原配置
cp /etc/my.cnf{,.bak}

注意:
如果是yum安装的maridb, 将mysql5.7的默认配置文件中的log-errorpid-file的值为maridb目录,修改为mysql
在这里插入图片描述

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

# 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

网站公告

今日签到

点亮在社区的每一天
去签到