MySQL 主—从复制
MySQL 主—从复制
主服务器:172.16.15.20
从服务器:172.16.15.30
1、两节点分别安装mysql
- # pvcreate /dev/sda5
- # vgcreate myvg /dev/sda5
- # lvcreate -L 10G -n mydata myvg
- # mkdir -p /data/mydata
- # mke2fs -j /dev/myvg/mydata
- # mount /dev/myvg/mydata /data/mydata/
- # tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local/
- # cd /usr/local/
- # ln -s mysql-5.5.24-linux2.6-i686/ mysql
- # cd mysql
- # useradd -r mysql
- # chown -R mysql.mysql .
- # scripts/mysql_install_db --datadir=/data/mydata/ --user=mysql
- # chown -R root .
- # cp support-files/my-large.cnf /etc/my.cnf
- # vim /etc/my.cnf
- thread_concurrency = 2
- datadir = /data/mydata
- # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
- # chmod +x /etc/rc.d/init.d/mysqld
- # service mysqld start
2、配置主服务器,添加用户
- mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repluser@'172.16.15.%' IDENTIFIED BY 'RedHat';
- mysql>flush privileges;
- (注:一定要查看下使用的日志和日志位置,后面要用到)
- mysql>show master status;
- +------------------+----------+--------------+------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+----------+--------------+------------------+
- | mysql-bin.000001 | 335 | | |
- +------------------+----------+--------------+------------------+
- 1 row in set (0.00 sec
3、配置从服务器
- # vim /etc/my.cnf
- relay-log=mysql-relay //添加中继日志
- server-id = 2 //修改ID和主的不一样
- # service mysqld restart 重启生效
- 添加以下命令
- mysql> CHANGE MASTER TO MASTER_HOST = '172.16.15.20' , //指定主服务器
- -> MASTER_USER = 'repluser' , //指定用户
- -> MASTER_PASSWORD = 'redhat' , //密码
- -> MASTER_LOG_FILE = 'mysql-bin.000001' , //指定日志
- -> MASTER_LOG_POS = 355 ; //指定日志位置
- 可以通过下面命令查看刚配置信息:
- mysql> show slave status\G
- 启动从服务线程
- mysql> start slave;
- 禁止从服务器写入,重启服务就失效了,应该将read_only = on 写进配置文件中:
- SET GLOBAL read_only = on;
- 配置文件[mysqld]中添加如下,让从服务器的mysql服务在启动时候不要自动启动从服务线程,手动启动
- skip-slave-start=1
4、测试
- 主服务器上建立数据
- mysql> create database tb1;
- mysql> use tb1;
- mysql> create table test (name varchar(10));
- mysql> insert into test values ('jack'),('tom');
查看下:
再在从服务器上看下,可以看到已经有复制过来的信息了:
|
评论暂时关闭