《MYSQL教程mysql主从复制学习》要点:
本文介绍了MYSQL教程mysql主从复制学习,希望对您有用。如果有疑问,可以联系我们。
1、如果主服务器出现问题,可以快速切换到从服务器.MYSQL入门
2、对与实时性要求不高或者更新不频繁的应用可以在从服务器上执行查询操作,降低主服务器的访问压力.将数据的读写进行分离从而达到负载的效果.MYSQL入门
3、可以在从服务器进行数据备份操作,以避免备份期间对主服务器的影响.MYSQL入门
master:192.168.6.224MYSQL入门
slave:192.168.6.222MYSQL入门
1、在主服务器中为从服务器设置授权用户MYSQL入门
在主服务器中为从服务器192.168.6.222创建一个用户名为user2的用户,密码是123MYSQL入门
mysql> grant all on *.* to user2@192.168.6.222 identified by "123";MYSQL入门
参数解释:MYSQL入门
grant:mysql授权关键字MYSQL入门
*.* :所有库所有表MYSQL入门
MYSQL入门
查看用户授权是否成功:MYSQL入门
mysql> show grants for user2@192.168.6.222;MYSQL入门
MYSQL入门
测试在slave服务器上使用user2能否登陆master服务器上的mysqlMYSQL入门
[root@localhost tmp]# mysql -uuser2 -p123 test -h192.168.6.224;MYSQL入门
MYSQL入门
2、开启主服务器的bin-log日志并开设置server-id的值.MYSQL入门
修改主服务器的my.cnf配置文件:MYSQL入门
[mysqld]
#开启mysql的bin-log日志
log-bin=mysql-bin
#主服务器该值设置为1
server-id = 1
3、重置bin-log日志:mysql> reset master; MYSQL入门
查看最新的bin-log日志状态看是否在起始位置: mysql> show master status;MYSQL入门
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | | |
+------------------+----------+--------------+------------------+MYSQL入门
4、备份主数据库数据MYSQL入门
a、备份数据MYSQL入门
b、更新bin-log日志MYSQL入门
在这里我们使用mysqldump方式备份数据并使用 -l -F 参数直接在备份数据的时候设置读锁并更新bin-log日志MYSQL入门
mysqldump -uroot -p111111 test -l -F > '/tmp/mysql_back/test.sql';MYSQL入门
5、将主服务器备份的数据发送到slave服务器MYSQL入门
[root@localhost tmp]# scp mysql_back/test.sql 192.168.6.222:/tmp/mysql_back/MYSQL入门
6、重置slave服务器上的bin-log日志并在slave服务器中使用备份的数据MYSQL入门
mysql> rester master;MYSQL入门
[root@localhost tmp]# mysql -uroot -p111111 test -v -f</tmp/mysql_back/test.sql;MYSQL入门
7、配置slave服务器中my.cnf参数MYSQL入门
a、#配置从服务器server-id =2 (如果有多台从服务器则都有一个唯一的server-id)
server-id = 2MYSQL入门
b、#开启bin-log日志
log-bin=mysql-binMYSQL入门
c、#配置需要同步的主机、用户名、密码、端口号
MYSQL入门
- #配置需要同步的主机
- master-host = 192.168.6.224
- # The username the slave will use for authentication when connecting
- # to the master - required
- master-user = user2
- #
- # The password the slave will authenticate with when connecting to
- # the master - required
- master-password = 123
- #
- # The port the master is listening on.
- # optional - defaults to 3306
- master-port = 3306
d、重启mysql让配置文件生效MYSQL入门
[root@localhost tmp]# service mysqld restartMYSQL入门
如果改方式无法重启mysql服务器可以使用下面的方式MYSQL入门
8、查看slave状态
MYSQL入门
- mysql> show slave status\G;
- *************************** 1. row ***************************
- Slave_IO_State: Waiting for master to send event
- Master_Host: 192.168.6.224
- Master_User: user2
- Master_Port: 3306
- Connect_Retry: 60 //每隔60秒去master服务器同步一次bin-log日志
- Master_Log_File: mysql-bin.000002
- Read_Master_Log_Pos: 107
- Relay_Log_File: localhost-relay-bin.000002 //slave服务器日志
- Relay_Log_Pos: 253
- Relay_Master_Log_File: mysql-bin.000002
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes //这两行参数为yes表示主从配置成功
Master_Log_File:代表主机上用于主备同步的日志文件名,MYSQL入门
Read_Master_Log_Pos:代表上一次成功同步到的日志文件中的位置.MYSQL入门
如果这两项与先前在主服务器上看到的File及Position的值不相符,则无法正确进行同步.MYSQL入门
1、在master服务器添加数据并查看bin-log日志状态
MYSQL入门
- mysql> insert into t1 values(13);
- Query OK, 1 row affected (0.02 sec)
- mysql> insert into t1 values(14);
- Query OK, 1 row affected (0.01 sec)
- mysql> insert into t1 values(15);
- Query OK, 1 row affected (0.01 sec)
- mysql> show master status;
- +------------------+----------+--------------+------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+----------+--------------+------------------+
- | mysql-bin.000002 | 656 | | |
- +------------------+----------+--------------+------------------+
在这里可以看到主服务器的Postion与从服务器的Read_Master_Log_Pos值相等且Slave_IO_Running,Slave_SQL_Running值都是 Yes .这样mysql的主从配置成功.MYSQL入门
转载请注明本页网址:
http://www.vephp.com/jiaocheng/5778.html