MySQL主从复制

mysql主从复制
Master:192.168.10.92
Slave:192.168.10.93

#安装MySQL数据库软件包,并启动MySQL
yum -y install mysql mysql-server
server mysqld start
chkconfig mysqld on

#修改MySQL数据管理密码
mysqladmin -u root password 'redhat'
  
#修改主服务器Master
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin   #启用二进制日志
server-id=92     	#服务器唯一ID,默认是1,一般取IP最后一段
 
#修改从服务器slave
vim /etc/my.cnf
mysqld]
log-bin=mysql-bin   #启用二进制日志
server-id=93        #服务器唯一ID,默认是1,一般取IP最后一段

#两台服务器启动MySQL
service mysqld restart
   
#主服务器上建立帐户并授权Slave
mysql>mysql -uroot -p
mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'192.168.10.93' identified by 'redhat'; 		#192.168.10.93从MySQL IP地址

#登录主服务器的MySQL,查询Master的状态
mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      308 |              |                  |
+------------------+----------+--------------+------------------+
#执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值有所变化
   
#配置从服务器Slave:
change master to master_host='192.168.10.92',master_user='mysync',master_password='redhat',master_log_file='mysql-bin.,000001',master_log_pos=308;   #注意不要断开,“308”无单引号
   
start slave;   		#启动从服务器复制功能
   
#检查从服务器复制功能状态:
show slave status\G
*************************** 1. row ***************************
                Slave_IO_State: Waiting for master to send event
                   Master_Host: 192.168.10.92  			#主服务器地址
                   Master_User: mysync         			#授权帐户名,尽量避免使用root
                   Master_Port: 3306           			#数据库端口
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000002
           Read_Master_Log_Pos: 527       				#同步读取二进制日志的位置,大于等于>=Exec_Master_Log_Pos
                Relay_Log_File: ddte-relay-bin.000002
                 Relay_Log_Pos: 672
         Relay_Master_Log_File: mysql-bin.000002
              Slave_IO_Running: Yes       				#此状态必须YES
             Slave_SQL_Running: Yes       				#此状态必须YES

#Slave_IO及Slave_SQL进程必须正常运行,即YES状态,出现NO就是错误的状态,至此主从服务器配置完成
   
#主从服务器测试,主服务器MySQL建库建表,并在表中插入一条测试数据
mysql>create database testdb;
mysql>use testdb;
mysql>create table testtable1(id int(3),name char(10));
mysql>insert into testtable1 values(001,'wushanqiang');
mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| testdb             |
| mysql              |
| test               |
+--------------------+

#从服务器MySQL查询:
mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| testdb             |          #主服务器上的数据库过来了
| mysql              |
| test               |
+--------------------+
#从服务器查询数据
mysql>use testdb
mysql>select * from testtable1;
+------+------------+
| id   | name       |
+------+------------+
|    1 | wushanqian |		   #可以看到在主服务器上面写入的数据
+------+------------+


你可能感兴趣的:(mysql,主从复制)