Mysql 主从配置
阅读 (1597) 2016-12-22 01:55:31
Mysql 主从配置 实现读写分离
这里mysql安装不再赘述,假设已安装CentOS -> Mysql, mysql安装目录:/usr/local/下
例:
主机IP: 10.10.10.170
从机IP: 10.10.10.171
主机配置
编缉主机配置文件:
vim /usr/local/mysql/my.cnf
添加以下代码
server-id=170 #设置主服务器的ID
innodb_flush_log_at_trx_commit=2 #
sync_binlog=1 #开启binlog日志同步功能
log-bin=mysql-bin-170 #binlog日志文件名
log-bin-index=mysql-bin-170.index
# binlog-do-db=xxxx # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
read-only=0 # 主机可读可写数据
登录mysql并进行以下操作
// 设置 root 密码
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
// 允许外部IP访问以root账号访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
// 主服务器上开启远程权限,授权给从数据库服务器10.10.10.171,用户名mark,密码123456
mysql > grant replication slave on *.* to 'mark'@'10.10.10.171' identified by '123456';
mysql > show master status;
mysql > FLUSH PRIVILEGES;
mysql > exit;
从机配置:
vim /usr/local/mysql/my.cnf
添加以下代码
server-id=171 #服务器ID
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-171
relay-log=localhost-relay-bin #从relay log开始读取的位置坐标
read-only=1 # 从机只读数据
#replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql,information_schema,performance_schema,test #不复制某些库,按需要自行设置即可
登录mysql并操作
mysql > change master to master_host='10.10.10.170', master_user='mark' ,master_password='123456';
mysql > start slave; # stop slave; reset slave;
mysql > show slave status \G;
# Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功
好了,回到主机,测试添加删除数据库数据库,增删改数据,查看从机数据是否同步 ^_^
更新于:2016-12-22 01:55:31