配置文件详解
1.MySQL目录介绍
- /var/lib/mysql/:数据库文件的存放路径,show variables like ‘datadir’;查看也行
- /usr/bin与/usr/sbin:各种MySQL命令文件
- /etc/mysql:配置文件目录
- /usr/share/mysql-8.0:配置文件目录
2.配置文件my.conf详解
[mysqld]
# skip相关
skip-host-cache # 跳过主机缓存
skip-grant-tables # 不需要密码就能登录,建议正常不要开启
skip-name-resolve # 禁止域名解析
# 文件目录
pid-file=/var/run/mysqld/mysqld.pid # pid文件目录
socket=/var/run/mysqld/mysqld.sock # socket文件目录
datadir=/var/lib/mysql # 数据目录
log-error=/var/log/mysql/error.log # 异常日志目录
# 缓冲配置
innodb_buffer_pool_size=128M # InnoDB的BufferPool的默认大小为128M,可以调整为内存3/4
join_buffer_size=128M # 连表的缓冲
sort_buffer_size=2M # 排序缓冲
read_rnd_buffer_size=2M
# 其他配置
bind-address = 127.0.0.1 # 默认情况下,我们只接受来自本地主机的连接,禁止掉这句话可以远程访问或者改成0.0.0.0试试
symbolic-links=0 # 建议禁用符号链接,以防止各种各样的安全风险
# Windows安装的MySQL大小写不敏感,Linux则是敏感,设置为1是不敏感,0是敏感,然后重启服务器。
# 此参数适用于MySQL5.7。在MySQL8下禁止在重新启动MySQL,需要这么干
# 1.停止MySQL服务
# 2.删除数据目录,即删除 /var/lib/mysql 目录
# 3.在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1
# 4.启动MySQL服务
lower_case_table_names=1
# binlog日志
log_bin=mysql-bin # 开启binlog功能并指定文件名(存储位置)
sync-binlog=1 # binlog同步到磁盘的策略,1是每次产生修改操作都与磁盘同步
binlog_format="MIXED" # binlog文件记录模式分为:ROW,STATEMENT,MIXED
binlog-ignore-db=information_schema # 那些库的修改不产生binlog/主从复制的时候不会同步这些库
binlog-ignore-db=mysql # 那些库的修改不产生binlog/主从复制的时候不会同步这些库
binlog-ignore-db=performance_schema # 那些库的修改不产生binlog/主从复制的时候不会同步这些库
binlog-ignore-db=sys # 那些库的修改不产生binlog/主从复制的时候不会同步这些库
binlog-do-db=xxx # 主从复制的时候那些库同步,不写就是除了上面那几个库都同步
log_slave_updates=1 # log-slave-updates参数默认时关闭的状态,如果不手动设置,那么bin-log只会记录直接在该库上执行的SQL语句,由replication机制的SQL线程读取relay-log而执行的SQL语句并不会记录到bin-log,1是开启
binlog_group_commit_sync_delay=1000 # 设置并行复制的相关参数,基于组提交的并行复制延迟1秒
binlog_group_commit_sync_no_delay_count=100 # 设置并行复制的相关参数,一个组最多有多少事务数量
# relaylog
relay_log=mysql-relay-bin # relaylog的名字与存储位置
relay_log_recovery=1 # relay_log的打开
relay_log_info_repository=TABLE
# 主从复制
server-id=1 # server-id用来主从复制,主从MySQL之间的server-id不能一样
read_only=1 # 这个库只能读不能写1是开启
slave_parallel_type=LOGICAL_CLOCK # 设置并行复制的相关参数,并行复制类型为MySQL5.7的基于组提交的并行复制
slave_parallel_workers=8 # 设置并行复制的相关参数,并行复制线程数量
master_info_repository=TABLE
# 自增
auto_increment_offset=1 # 从几开始自增
auto_increment_increment=2 # 每次自增多少
# 半同步复制插件semi的配置
rpl_semi_sync_master_enabled=1 # 开启semi功能
rpl_semi_sync_master_timeout=1000 # 修改semi的相关设置,设置时间,默认10秒,单位是毫秒
[mysql]
[mysqldump]
quick
quote-names
max_allowed_packet = 16M