1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
tar xf mysql-5.5.28-linux2.6-i686. tar .gz -C /usr/local/ # cd /usr/local/ # ln -s mysql-5.5.28-linux2.6-i686/ mysql # groupadd -r mysql # useradd -r -g mysql -s /sbin/nologin mysql # mkdir /mydata/data -p # chown -R mysql.mysql /mydata/data/ # chown -R root.mysql /usr/local/mysql/* # cp support-files/my-large.cnf /etc/my.cnf # cp support-files/mysql.server /etc/init.d/mysqld [mysqld] innodb_file_per_table = 1 datadir = /mydata/data #由于是二进制安装的mysql所以必须指定数据库目录位置 # vim /etc/profile.d/mysqld.sh export PAHT=$PATH: /usr/local/mysql/bin # . /etc/profile.d/mysqld.sh |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# vim /etc/my.cnf [mysqld] log-bin = master-bin log-bin-index = master-bin.index server- id = 1 # scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ # service mysqld start # mysql mysql> grant replication slave on *.* to repl@ '192.168.100.12' identified by 'asdasd' ; mysql> flush privileges; mysql> flush logs; mysql> show master logs; +-------------------+-----------+ | Log_name | File_size | +-------------------+-----------+ | master-bin.000001 | 27326 | | master-bin.000002 | 1038693 | | master-bin.000003 | 379 | | master-bin.000004 | 107 | +-------------------+-----------+ mysql> purge binary logs to 'master-bin.000004' ; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# vim /etc/my.cnf [mysqld] relay-log = relay-log relay-log-index = relay-log.index read -only = 1 #innodb_file_per_table = 1 #binlog_format=mixed server- id = 10 # scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ # service mysqld start mysql> change master to master_host= '192.168.100.11' ,master_user= 'repl' ,master_password= 'asdasd' ,master_log_file= 'master-bin.000004' ,master_log_pos=107; mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.100.11 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000004 Read_Master_Log_Pos: 107 Relay_Log_File: relay-log.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: master-bin.000004 Slave_IO_Running: No Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 107 Relay_Log_Space: 107 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 0 1 row in set (0.00 sec) mysql> start slave; mysql> show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: Yes .............. |
1
2
3
|
mysql> slave stop; mysql> reset slave; mysql> change master to master_host= '192.168.100.11' ,master_user= 'repl' ,master_password= 'asdasd' ,master_log_file= 'master-bin.000005' ,master_log_pos=107; |
1
2
3
4
5
6
7
8
9
10
11
12
|
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so' ; mysql> show variables like '%semi%' ; +------------------------------------+-------+ | Variable_name | Value | +------------------------------------+-------+ | rpl_semi_sync_master_enabled | OFF | | rpl_semi_sync_master_timeout | 10000 | | rpl_semi_sync_master_trace_level | 32 | | rpl_semi_sync_master_wait_no_slave | ON | +------------------------------------+-------+ mysql> set global rpl_semi_sync_master_enabled=1; mysql> set global rpl_semi_sync_master_timeout=1000; |
1
2
3
4
5
6
7
8
9
|
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so' ; mysql> show variables like '%semi%' ; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | rpl_semi_sync_slave_enabled | OFF | | rpl_semi_sync_slave_trace_level | 32 | +---------------------------------+-------+ mysql> set global rpl_semi_sync_slave_enabled=1; |
1
2
|
binlog- do -db //binlog-do-db 表示和哪个数据库相关的写入类、修改类指令会被写入 binlog-ignore-db //binlog-ignore-db 表示忽略(黑名单) |