主从复制原理:复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。1)主服务器将所有数据和结构更改记录到二进制日志中。2)从属服务器从主服务器请求该二进制日志并在本地应用其内容。3)IO:请求主库,获取上一次执行过的新的事件,并存放到relaylog4)SQL:从relaylog中将sql语句翻译给从库执行
本次搭建在同一台机器上搭建,用不同用户和不同端口以及不同程序路径。安装过程比较简单,采用二进制的方式来做的。
主库搭建:
加入环境变量:
export MYSQL_HOME=/opt/mysql
export PATH=$PATH:$MYSQL_HOME/bin
主库的配置文件:
[mysql]
no-auto-rehash
port= 3306socket= /opt/data/mysqld.sock
[mysqld]
user=mysql
port= 3306basedir= /opt/mysql
datadir= /opt/data
socket= /opt/data/mysqld.sock
pid-file =mysql.pid
character-set-server =utf8
skip_name_resolve= 1lower_case_table_names=1max_connections= 1000max_connect_errors= 1000000table_open_cache= 4000table_definition_cache= 4000table_open_cache_instances= 64max_allowed_packet=32M
sort_buffer_size=16M
join_buffer_size=16M
thread_cache_size= 450query_cache_size= 0query_cache_type= 0interactive_timeout= 600wait_timeout= 600tmp_table_size=96M
max_heap_table_size=96M
general_log=1general_log_file=general.log
slow_query_log= 1slow_query_log_file= /opt/log/slow.log
log_error= /opt/log/error.log
long_query_time=1server-id = 170log_bin= mysql-bin
log_slave_updates=on
sync_binlog= 1binlog_cache_size=4M
max_binlog_cache_size=2G
max_binlog_size=1G
expire_logs_days= 7master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_format=row
key_buffer_size=32M
read_buffer_size=8M
read_rnd_buffer_size=16M
lock_wait_timeout= 3600innodb_thread_concurrency= 0transaction_isolation= REPEATABLE-READ
innodb_buffer_pool_size=2G
innodb_buffer_pool_instan