没有配置的情况下,就是“复制主服务器”。(参见 vi /etc/my.cnf 第61行。) 就是说,只
需要配置其中一台作为“复制从服务器”,就是一组主从复制。
=============
主服务 z
从服务 c
z&c# ./configure --prefix=/usr/local/mysql --localstatedir=/dell/mysql_db
z&c# make && make install
z&c# ls /support-files
z&c# cp support-files/my-large.cnf /etc/my.cnf
z&c# cp support-files/mysql.server /etc/init.d/mysql
z&c# chmod 755 /etc/init.d/mysql
z&c# chown -R mysql.mysql /usr/local/mysql
z&c# /usr/local/mysql/bin/mysql_install_db -user=mysql
z&c# chown -R mysql.mysq /dell/mysql_db
z&c# chown -R root.mysql /usr/local/mysql
z&c# vi /etc/my.cnf
z&c# /etc/init.d/mysql start
z&c# /usr/local/mysql/bin/mysql
z# mysql (这个样子是没有密码的,……;实际不可这样)
授权(创建用户以备复制)
> grant replication slave on *.* to 's1'@'192.168.0.100' identified by 'newpwd';
> show master status;
z# ps aux | grep mysql
c# mysql
> change master to
master_host='192.168.0.180',
master_user='s1',
master_password='newpwd',
master_log_file='mysql-bin.000003',
master_log_pos=258;
> start slave;
> show slave status \G
上边必须是两个“yes”。防火墙可能让上边的不是yes,下边是。
如果是两个“no”,有可能是少了一步“start slave;”。
c# ps aux | grep mysql
c# ls /dell/mysql_db/*.info
------------已经处于生产环境的机器配置复制时,需要先锁定库------------
z# mysql
mysql> flush tables with read lock;
mysql> show master status;
终端不能退出,退出则锁定失效。
c# tar -jcf mysql.t mysql (注意备份需要的库)
c# scp mysql.t 192.168.0.100:/dell/mysql_db
在客户端完成安装后,解压。
执行虚线上边的操作,直到测试前,执行下边的语句。
mysql> unlock tables;
可以测试效果了。
=============
查看配置文件(可以设置过滤,建议在从机器设置)
z# vi /etc/my.cnf
[mysqld]
server-id = 1
全局唯一
log-bin = mysql-bin
开启二进制日志功能;复制基础
binlog-do-db = runndy-web
复制的库;可以设置多个
binlog-ignore-db = mysql
跳过的库;可以设置多个
建议忽略这个库,因为版本之间可能存在差异;建议“从”版本“高”于主版本。
c# vi /etc/my.cnf
[mysqld]
server-id = 2
log-bin = mysql-bin
binlog-do-db = runndy-web
binlog-ignore-db = mysql