目前后台数据库使用了一个实例做数据统计分析,随着数据井喷,单个实例无法做数据分析。故开始了读写分离。

1.主配置

[client]
port = 3306
socket = /tmp/mysql-3306.sock # The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql-3306.sock
basedir=/opt/mysql
# 使用单独的数据盘
datadir=/data/mysql
# 设置最大连接数,这个值等于连接到此数据库的tomcat实例的所有活跃线程数
max_connections=260
plugin-dir=/opt/mysql/lib/plugin
pid-file=/data/mysql/mysql.pid
skip-external-locking
log-error=/opt/mysql/log/error.log
# 使用独立表空间 alter table tbName engine=innodb;才可以将共享表空间转独立表空间
innodb_file_per_table=1
# 设置 innodb 的 数据目录,适用于 共享表空间
#innodb_data_home_dir=/data/mysql/innodb
#设置innodb 强制恢复 6是只读模式,不支持update insert delete. 0是常规模式
#innodb_force_recovery=6
# MyISAM 主键缓存
key_buffer_size = 16M
# 最大响应包体
max_allowed_packet = 5M
# 最多缓存的表
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M # 记录慢查询
#log_slow_queries=ON
slow_query_log=ON
slow_query_log_file=/var/log/mysql-3306-slow.log
long_query_time=1 # mysql purge 命令可以清理二进制日志,详情请查阅 ? purge
log-bin=mysql-bin binlog-ignore-db=mysql
binlog-ignore-db=test
# 此处不可以使用单行逗号分割,容易失去日志
binlog-do-db=globaldata
binlog-do-db=metaapp
binlog-do-db=statisticsdata
# 设置 bin_log 过期自动清理的天数
expire_logs_days=3
# 日志格式,官方推荐mixed
binlog_format=mixed # 唯一ID,不能与其他Mysql实例重复
server-id = 1 sync_binlog=1 [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates [myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout

2.检查bin-log日志记录

mysqlbinlog --start-datetime='2018-02-27 00:00:00' --stop-datetime='2018-02-28 23:01:01' -d statisticsdata /data/mysql/mysql-bin.

binlog-do-db 会影响到日志记录,这里用mysqlbinlog 检查日志是否拿到。

3.dump导出多个数据库并记录日志位置

mysqldump -B globaldata metaapp statisticsdata --master-data= --add-drop-database --flush-logs > three.sql

-B 多个数据库 --master-data=1 记录日志位置 --flush-logs 整个dump期间锁表,避免日志读取异常。

4.配置从服务器

[client]
#password = your_password
port =
socket = /tmp/mysql-.sock # Here follows entries for some specific programs # The MySQL server
[mysqld]
port =
socket = /tmp/mysql-.sock
basedir=/opt/mysql
# 使用单独的数据盘
datadir=/data/mysql
# 设置最大连接数,这个值等于 数据收集tomcat+数据分析+metaAppService的最大线程数
max_connections=
plugin-dir=/opt/mysql/lib/plugin
pid-file=/data/mysql/isRunning.pid
skip-external-locking
log-error=/data/mysql/log/error.log
# 使用独立表空间 alter table tbName engine=innodb;才可以将共享表空间转独立表空间
innodb_file_per_table=
# 设置 innodb 的 数据目录,适用于 共享表空间
#innodb_data_home_dir=/data/mysql/innodb
#设置innodb 强制恢复 6是只读模式,不支持update insert delete. 0是常规模式
#innodb_force_recovery=
# MyISAM 主键缓存
key_buffer_size = 16M
# 最大响应包体
max_allowed_packet = 5M
# 最多缓存的表
table_open_cache =
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M #log_slow_queries=ON
slow_query_log=ON
slow_query_log_file=/data/mysql/log/mysql--slow.log
long_query_time=
# 主从服务器都要避免使用这个属性
#skip-networking # Replication Master Server (default)
# binary logging is required for replication
# 暂时关闭 log-bin
# mysql purge 命令可以清理二进制日志,详情请查阅 ? purge
#log-bin=mysql-bin #binlog-ignore-db=mysql,information_schema,test
#binlog-do-db=globaldata,metaapp,statisticsdata
# 设置 bin_log 过期自动清理的天数
#expire_logs_days=
# binary logging format - mixed recommended
# 从服务器不需要配置 binlog_format ,会自动识别。
#binlog_format=mixed # required unique id between and ^ -
# defaults to if master-host is not set
# but will not function as a master if omitted
server-id =
relay-log=slave-relay-bin [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates [myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout

5.导入dump文件

dump文件已包含 位置点信息

mysql < three.sql

6.开启 slave

start slave;

7.查看slave状态

1. show proccesslist; -- 看 Time
2. show slave status; -- 看 Seconds_Behind_Master(比主服务延迟了多少秒)

最新文章

  1. GROUP函数-GROUP_ID,GROUPING,GROUPING_ID
  2. PHP注册审核做法
  3. Cauchy 级数浓缩判别法
  4. Android数据存储之SharedPreferences存储
  5. c# Internet时间服务器同步
  6. MongoDB让人恶心的配置
  7. JS正则表达式验证账号、手机号、电话、邮箱、货币
  8. Window Linux下实现指定目录内文件变更的监控方法
  9. CentOS服务端口开放
  10. FJUT寒假作业第三周数蚂蚁(记录第一道并查集)
  11. CapsNet胶囊网络(理解)
  12. Linux centos系统安装后的基本配置,Linux命令
  13. Django的datetime.timedelta类(Django编程-2)
  14. python在linux的报错集锦
  15. Linux环境变量相关总结
  16. 使用Visual Studio2013打开Visual Studio2015项目
  17. React Native 之 main.jsbundle生成方法
  18. app流畅度测试--使用手机自带功能
  19. 磁盘 I/O 性能监控的指标
  20. vue+echarts实现可拖动节点的折现图(支持拖动方向和上下限的设置)

热门文章

  1. 关于ascii码的一些内容
  2. python如何判断一个字符串是中文,还是英文。
  3. [Maven] guide: maven in 5 minutes
  4. HTML 第九章总结
  5. catalan 递推
  6. PHP如何定义类及其成员属性与操作
  7. hdu 1542 Atlantis (线段树扫描线)
  8. [CodeForces - 447C] C - DZY Loves Sequences
  9. 2015-09-17html课程总结2+了解css
  10. ORM框架之SQLALchemy