1.设置主数据库(假设主库服务器192.168.0.1,从库服务器192.168.0.2)
在主库服务器
找到my.cnf,在[mysqld]下添加以下代码
log-bin=/var/lib/mysql/binlog
server-id=1
保存后重启mysql
2.新增一个用户,用来在从库访问主数据库
create user slave;
给slave用户开启从库权限,并设置你的从库IP和访问密码, 代码如下:
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.0.%' IDENTIFIED BY 'password';
//ip里%为通配符
flush privileges; //刷新生效
这时可以在从库服务器尝试访问主数据库
mysql -h 192.168.0.1 -uslave -ppassword -P 3306 // password换成你的密码
3.保证主从库初始数据一致,导出主库数据到从库
在主库服务器上:
mysqldump -uroot -ppassword dbname > dbname.sql //dbname 你要导出的库名
scp master.sql root@192.168.0.2:/root/ //传输文件到从库服务器
在从库服务器上:
mysql -uroot -p dbname<dbname.sql //导入你的数据文件如果没有数据dbname,先创建一个和主库一样的dbname, create database dbname;
4 配置从库服务器的配置文件
打开从库服务器的my.cnf,在[mysqld]下面添加以下代码
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
保存退出,重启mysql
5 . 在从库开启slave服务
在主库mysql执行show master status;查看以便下面使用
登入从库mysql,执行
chang master to
master_host='192.168.0.1', //设置你自己的主库ip
master_port=3306,master_user='slave', //
master_password='password',
master_log_file='binlog.000001', //填show master status 查看的值
master_log_pos=245; //填show master status 查看的值
执行完成显示Query OK,开启从库服务执行命令
slave start; // 开启从库服务
show slave status\G;查看从库状态
看到如下,则为成功,如Slave_IO_Running:connecting 或其他则失败,需要检查你的配置
配置完成,开始实验吧,修改主库数据,看从库数据是否变化。