mysql的配置文件my.cnf里是由一个个的option组成的([***])。各个部分的作用大致如下:
[client] -- 这部分的配置是mysql自带的client回去读取的部分,可以配置port/password/socket等
port=3306
socket=/tmp/mysql.sock
[mysql] -- 这部分配置mysql command tool会读取的部分
no-auto-rehash
[mysqld]--这部分是mysql server使用到的,比如这个页面里面的参数以及存储引擎自己的参数。
max_connections=100
innodb_buffer_pool_size=2G
key_buffer_size=32M
[mysql_safe]--下面这些都是特定的客户端工具使用到的($MYSQL_HOME/bin/下),看名字就可以明白了。
[mysqldump]
[mysqlhotcopy]
[myisamchk]
...每个工具都可以有自己的option...
具体每个option可以使用那些参数,可以是用 --help查询,比如mysql --help
参数如何生效?
以我们最常使用的mysql command tool为例,当我们习惯的输入mysql -uroot -p 之后,它是如何读取my.cnf的呢。代码很简单,调用路径如下(5.1.58):
main.cc(bin/mysql.cc) -->load_defaults(mysys/default.c) -->my_load_defaults(mysys/default.c)
函数load_defaults的第二个入参为load_default_groups, mysql.cc中是这样定义的:
static const char *load_default_groups[]= { "mysql","client",0 };
load_defaults函数对这个入参的注释为:“groups Which [group] entrys to read.”。这下明确了,mysql command tool 会去读取my.cnf中"[mysql]"和"[client]"部分。(除非指定--no-defaults)。
在my_load_defaults函数里,有这么一段:
/* Check if the user doesn't want any default option processing --no-defaults is always the first option */ if (*argc >= 2 && !strcmp(argv[0][1],"--no-defaults")) { /* remove the --no-defaults argument and return only the other arguments */ uint i; if (!(ptr=(char*) alloc_root(&alloc,sizeof(alloc)+ (*argc + 1)*sizeof(char*)))) goto err; res= (char**) (ptr+sizeof(alloc)); res[0]= **argv; /* Copy program name */ for (i=2 ; i < (uint) *argc ; i++) res[i-1]=argv[0][i]; res[i-1]=0; /* End pointer */ (*argc)--; *argv=res; *(MEM_ROOT*) ptr= alloc; /* Save alloc root for free */ if (default_directories) *default_directories= dirs; DBUG_RETURN(0); }
当使用了--no-defaults参数(如果使用,必须作为第一个option出现,这个是对所有的client都适用的)并且输入参数>=2时,mysql command tool不会去加载my.cnf中对应的option。
其它的client则类似,比如mysqlbinlog会去读取"[mysqlbinlog]"和"[client]";mysqldump会去读取"[mysqldump]"和“[client]”...
参考链接:
相关推荐
首先,my.cnf是MySQL服务器的主配置文件,通常位于 `/etc/my.cnf` 或者 `/full/path/mysql/bin/my.cnf`。在这个文件中,你可以设置多个不同部分的字符集和校对集。以下是修改默认为UTF-8的配置示例: ```ini ...
### CentOS 7 下 MySQL 8 安装指南 #### 一、概述 ...安装过程中需要注意的几个重点是:正确解压并移动文件、添加用户和用户组、配置 my.cnf 文件等。希望这篇指南能够帮助您顺利完成 MySQL 8 的安装配置。
2.修改/etc/my.cnf datadir = /data01/MPP/mysql/data bind-address=0.0.0.0 skip-name-resolve 3.重启mysql systemctl stop mysql.service systemctl start mysql.service 4.查看状态 systemctl status mysqld 5....
如果`/etc/my.cnf`文件不存在,则可以从`/usr/share/mysql/my-medium.cnf`文件中复制内容到`/etc/my.cnf`。 ```bash cp /usr/share/mysql/my-medium.cnf /etc/my.cnf ``` 2. **编辑配置文件**:打开配置文件,...
配置MySQL的主配置文件`my.cnf`,通常位于`/etc/my.cnf`,以设置数据目录、端口、字符集等参数: ``` [mysqld] datadir=/usr/local/mysql/data basedir=/usr/local/mysql socket=/tmp/mysql.sock user=mysql ...
接下来,将`my.cnf`和`mysql`文件解压并上传到对应的目录下。 ##### 2. 启动MySQL服务 启动MySQL服务时需要指定每个实例的配置文件路径。实际命令如下: ``` mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1...
- 创建 MySQL 的配置文件 `/etc/my.cnf`,并添加必要的配置项,如数据库的路径、监听端口等。 5. **软链接创建**: - 如果 `/var/lib/mysql` 目录下不存在 `mysql` 子目录,则需要手动创建。命令为 `mkdir -p /var...
- 在`/etc`目录下新建配置文件`my.cnf`,或者如果在MySQL文件夹中已有此文件,则修改该文件。 - 配置文件内容如下: ``` [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 socket=/var/lib/...
- 注释掉 `/etc/my.cnf.d/wsrep.cnf` 文件中的 `skip-grant-tables` 行。 - 停止 MySQL 服务: ``` service mysqld stop ``` - 重新启动 MySQL 服务: ``` /usr/sbin/mysqld --user=mysql & ``` - 登录 ...
- my.cnf是MySQL的配置文件,它定义了MySQL服务器的运行参数。通过编辑这个文件,可以调整各种性能和安全设置。 - 使用`vi`编辑器打开my.cnf文件进行修改,保存后退出。 7. **rc.local文件的处理**: - `/etc/rc...
2. 找到 `my.cnf` 文件,通常在 `/etc/mysql/my.cnf` 或 `/etc/mysql/mysql.conf.d/mysqld.cnf`。在`bind-address = 127.0.0.1`这一行前加上`#`注释掉,允许所有IP连接。 3. 添加`skip-external-locking`和`skip-...
因为 mysql 5.7 版本开始 my-default.cnf 文件不会自带,需要手动创建。 cd /usr/local/mysql/support-files sudo vi my-default.cnf 在 /usr/local/mysql/support-files 目录下创建 my-default.cnf [mysqld] ...
检查`support-files`目录下是否有`mysql-medium.cnf`文件,如果有,则复制到其他位置,例如命名为`my.cnf`: ```bash cp support-files/mysql-medium.cnf my.cnf ``` 如果没有,可以根据实际情况自行创建配置文件。 ...
打开`/etc/mysql/my.cnf`文件,并注释掉`bind-address`这一行,以便让MySQL监听所有地址。 ```bash # 编辑MySQL配置文件 sudo vi /etc/mysql/my.cnf # 注释掉以下行 # bind-address = 127.0.0.1 ``` 2. **...
windows环境中:%MySQL(和PHP搭配之最佳组合)_installdir%\my.ini //一般在MySQL(和PHP搭配之最佳组合)安装目录下有my.ini即MySQL(和PHP搭配之最佳组合)的配置文件。 linux环境中:/etc/my.cnf 在[MySQL(和PHP搭配...
2. 开启慢查询日志:在my.cnf配置文件中添加`slow_query_log = 1`和`slow_query_log_file = /var/log/mysql/slow-query.log`,重启MySQL服务使配置生效。 3. 调整性能参数:根据系统资源和需求,优化my.cnf中的其他...
如果你想从其他机器远程连接到MySQL,需要编辑`/etc/mysql/my.cnf`或`/etc/mysql/mysql.conf.d/mysqld.cnf`(具体取决于文件是否存在),取消`bind-address = 127.0.0.1`的注释,改为`#bind-address = 127.0.0.1`。...
1. 打开配置文件:vi /etc/my.cnf 2. 添加参数: server-id=1 log-bin=mysql-bin binlog-do-db=test binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-...