备注:
server-id 服务器唯一标识。
log_bin 启动MySQL二进制日志,即数据同步语句,从数据库会一条一条的执行这些语句。
binlog_do_db 指定记录二进制日志的数据库,即需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可。
binlog_ignore_db 指定不记录二进制日志的数据库,即不需要复制的数据库名,如果有多个数据库,重复设置这个选项即可。
其中需要注意的是,binlog_do_db和binlog_ignore_db为互斥选项,一般只需要一个即可。
1、在线安装mysql:
yum install mysql-server
2、mysql修改密码:
第一次:/usr/bin/mysqladmin -u root password '新密码'
之后:连接mysql之后ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
3、启动mysql:
systemctl start mysqld
4、允许远程访问:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>flush privileges;
5、配置主服务器:
在配置文件的[mysqld]中添加:
server-id=1
log_bin=master-bin
log_bin_index=master-bin.index
binlog_do_db=数据库名称
6、重启主服务器:
systemctl restart mysqld
7、查看主服务器状态:
mysql -uroot -p
mysql> show master status;
8、配置从服务器:
在配置文件的[mysqld]中添加:
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
9、重启从服务器:
systemctl restart mysqld
10、连接master主服务器:
mysql -uroot -p
mysql> change master to master_host='主服务器ip',master_port=3306,master_user='主服务器设置的远程登陆的用户',master_password='主服务器设置的远程用户的密码',master_log_file='主服务器(show master status;)查出来的File',master_log_pos=主服务器(show master status;)查出来的Position;
11、从服务器启动slave数据同步:
启动:mysql> start slave;
停止:mysql> stop slave;
12、从服务器查看slave信息:
mysql> show slave status\G;
看到Slave_IO_Running和Slave_SQL_Running都为yes,则表示同步成功。
13、在主服务器新建设置的数据库测试