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 http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.57.tar.gz
创建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_binlong=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
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用户不受限制)