mysql创建数据库时如何指定数据文件与日志文件的位置和大小

mysql创建数据库时如何指定数据文件与日志文件的位置和大小,第1张

Mysql创建数据库时会在如下目录创建以数据库名为名的目录

show variables like "%datadir%"

数据文件日志也就在相应目录下了。

日志大小、看看这些参数是否能达到你的目的:

命令行参数

–log-bin=filename:记录二进制日志文件的位置,尽量指定路径名,如果不指定的话则保存在数据目录

–log-bin-index=file:记录二进制日志文件索引的位置,保存了日志文件名

–max_binlog_size:单个文件最大多少

–binlog-do-db=db_name:哪个数据库使用,只有这个数据库使用

–binlog-ignore-db=db_name:哪个数据库不使用,只有这个数据库不使用

系统变量

log_bin:日志的位置

binlog_cache_size:二进制日志缓存大小,是每一个连接进来的线程分配的大小,不是整个服务器的大小

max_binlog_cache_size:最大缓存大小

max_binlog_size:单个文件最大大小,超过此大小则再分配一个文件,但是一个事务必须在一个文件中,所以可能会稍大点

binlog_cache_use:当前连接使用的binlog缓存的事务的数量,使用show status like ‘binlog_cache_use’查看(show status命令显示了所有连接到mysql服务器的状态值)

binlog_cache_disk_use:如果binlog_cache_use不够用,则在磁盘上缓存,应该尽量避免

binlog_do_db:设置master-slave时使用

binlog-ignore-db:设置哪个数据库不记录日志

sync_binlog:缓存与硬盘的同步频率(commit多少下同步一次,0表示服务器自动控制)

主机的mysql重启,但是你的从机mysql肯定是没重启才出现binlog索引不一致的现象,我认为是,从机mysql在主机重启之前slave_io_running线程始终保持和主机通信,传输binlog的更新。当主机挂掉之后,slave_io_running一直等待,状态变成NO,整个复制就会停掉,应该说是处于sleep状态,后来主机恢复,从机是没法辨别的,只能stop slave 然后再start,或者change master *** 作下,实在不行,只能重启从机的mysql了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10869722.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存