如果不写路径只写一个文件名 那么日志文件会被存进datadir,win是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data,linux是/var/lib/mysql。配置文件修改后重启 mysql 你到上述两个文件夹下会找到xxx.index 和xxx.000001,xxx是你自定义的文件名,xxx.index是日志索引文件,xxx.000001是第一个日志文件,以后会按照序号递增。(如果你啥也不指定,那么默认日志文件名为mysql-bin)
二进制文件无法正常查看,需要mysqlbinlog工具(linux下是命令)
win下打开DOS控制台,进入C:\Program Files\MySQL\MySQL Server 5.5\bin目录运行mysqlbinlog xxx.000001(linux下直接运行mysqlbinlog命令,[root@localhost xxxx]#mysqlbinlog xxxxx.000001;)
在同步操作前 里面没有sql语句 如果你进行过主
数据库的操作 你会发现里面有对应的SQL语句
在打完收工前还有几句废话要说
如果主从
数据库的数据表结构不一样 比如从机少一张表或者少某个字段之类的 那么主机进行数据的操作 即DML语句的操作 从机是没反应的 道理显而易见 都不存在那张表 怎么添加数据进去 但是由于中继日志中包含这些DML语句 所以 如果你把从机的数据库结构弄得跟主机一样后 数据便会自动同步上去——需要重启从机数据库
蛋似 对主机进行DDL 即数据对象的定义操作 比如加一张表 删一张表之类的 从机是会自动进行的 道理还是显而易见 因为DDL在从机上本来就是可以执行的
好了 现在你在主机上增删改查 从机上的数据库会自动变化 达到了主从复制的目的
PS:网上有神说 一主多从的架构并不是最好的架构 但目前我也不知道啥是最好的架构了 希望各位大神不吝指教 现在只是主从同步 后面还有用mysql-proxy进行读写分离