Mysql主从同步安装与配置

 

    参考之前搭建的文档又结合网上的文档进行安装与配置的,安装过程中遇到了缺包的问题,最后把缺少的包安装上,又从新安装和配置mysql,最后成功完成了主从同步。

 

系统环境:centos5.5 x64

 

192.168.28.178主服务器(master

192.168.28.181从(slave

 

同步条件:

1、网络能ping

2、主辅两边的mysql同一版本 mysql>select version(); 查看mysql版本

3.、配置主辅my.cnf

 

安装所需要的包

yum -y install ncurses ncurses-devel

yum -y install gcc*

 

下载mysql

wget

 

创建mysql组、用户然后开始安装

groupadd mysql

useradd mysql -g mysql -s /sbin/nologin

tar zxvf mysql-5.1.57.tar.gz

cd mysql-5.1.57

./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --sysconfdir=/etc --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock --enable-assembler --without-debug 

make && make install

cd /usr/local/mysql/share/mysql/

cp my-small.cnf /etc/my.cnf

cp mysql.server /etc/init.d/mysql.server

chmod 755 /etc/init.d/mysql.server

cd /usr/local/mysql/

chown -R mysql.mysql .

bin/mysql_install_db --user=mysql

chkconfig --add mysql.server

chkconfig mysql.server on

/etc/init.d/mysql.server start||stop||restart

echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile  增加mysql的全局环境变量

source /etc/profile

 

主(master)配置:

1、确定角色

  /etc/my.cnf下添加

  server_id=1

2、开启binlog

  /etc/my.cnf下添加下面三行:

  sync_binlog=1

  log-bin=binlog

  log-bin-index=binlog.index

 

3、登陆mysql主服务器

#mysql -u root -p

 Enter password:因为密码没有设置所以这里密码为空

4、给slave用户赋权

  mysql>grant replication slave on *.* to 'dzh'@'192.168.28.181' identified by '123';

5、保证主库和辅库在没做操作前是一样的,加锁

  mysql>flush privileges;

  mysql>flush tables with read lock;

  #mysqldump --all-database >/tmp/sql.sql

  #scp /tmp/sql.sql

 

6、确定binlog的位置并解锁

  mysql>show master status;

 

  mysql>unlock tables;

 

 

辅(slave)配置:

1、确定角色

  /etc/my.cnf下添加

  server_id=2(要求大于1

2、开启binlog

  /etc/my.cnf下添加下面三行:

  sync_binlong=1

  log-bin=binlog

  log-bin-index=binlog.index

3、登陆mysql主服务器

#mysql -u root -p

 Enter password:因为密码没有设置所以这里密码为空

4、保证主库和辅库在没做操作前是一样的

  mysql>source /tmp/sql.sql

5、设置slave并开启

  mysql>change master to master_host='192.168.28.178',master_port=3306,master_user='dzh',master_password='123',master_log_file='binlog.000001',master_log_pos=106;

  mysql>start slave;

 

  mysql>show slave status\G;

如出现Slave_IO_Running:YES  Slave_SQL_Running:YES,表示AB复制搭建成功!!

————————————————附加内容———————————————————

1、可以在辅(slave)的配置文件(/etc/my.cnf)中添加下面几行:

replication-db-db = 192.168.28.178     //表示只复制192.168.28.178的数据

replication-ignore-db = 192.168.28.178  //表示不复制192.168.28.178的数据

read-only=1                              //表示只读(root用户不受限制)