MySQL参数学习(一)

(1)MySQL参数文件my.cnf

MySQL默认参数文件的位置有4个,如果有多个参数文件,则参数采用覆盖原则,后面文件的参数会将前面配置文件的参数覆盖掉。

[root@mysqlserver bin]# mysqld --help -v| grep my.cnf /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

DBA也可以通过"defaults_file"自定义参数文件的位置,从而不读取系统默认配置文件。

[mysql@mysqlserver etc]$ mysql --help |grep defaults-file --defaults-file=# 
Only read default options from the given file #. 

如何使用自定义的参数文件呢?

cd /usr/local/mysql
 bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf  --initialize --user=mysql

 

(2)MySQL参数配置

MySQL参数从作用域上可分为2类:global和session,从修改类型上又可以分为:可修改和只读参数,用户可以在线修改非只读参数,对于只读参数,可以通过配置文件修改并重启。

(2.1)查看参数设置

show variables like '%log%';

或者:

复制代码
-- session级别参数
mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
|            0 |
+--------------+
1 row in set (0.00 sec)

-- global级别参数
mysql> select @@global.autocommit;
+---------------------+
| @@global.autocommit |
+---------------------+
|                   1 |
+---------------------+
1 row in set (0.00 sec)
复制代码

(2.2)修改参数

-- 会话参数修改 
mysql> set autocommit=0; 

-- 全局参数修改 
mysql> set global autocommit = 0;

对于会话级别参数的修改,只针对当前会话有效;对于全局参数的修改,对后续新建立的连接有效。但是重启数据库之后,参数均会变为修改前的值,即所有参数的修改都不能持久化,重启之后还是按照配置文件来。如果要保持参数持久有效,需要修改参数文件my.cnf并重启数据库。

posted @   gegeman  阅读(613)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示