MySQL参数学习
Posted 满格
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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并重启数据库。
以上是关于MySQL参数学习的主要内容,如果未能解决你的问题,请参考以下文章
xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException