一、安装mysql
1、安装mysql
$ sudo apt-get install mysql-server -y
2、 安全设置
$ mysql_secure_installation //设置密码后,连续按Y后确认,直到结束
二、设置两台主机的my.cnf
1、 设置两台主机的my.cnf
a、 主服务器 配置my.cnf
$ sudo vim /etc/my.cnf [/etc/mysql/my.cnf] //centos的路径为/etc/my.cnf [mysqld] log-bin=mysql-bin server-id=21 //服务器唯一ID,默认是1,一般取IP最后一段
b、 从服务器的配置
$ vim /etc/my.cnf
[/etc/my.cnf]
[mysqld]
log-bin=mysql-bin
server-id=22
2、 重启服务
$ sudo service mysql restar
三、在主服务器上建立帐户并授权slave
1、 在防火墙中开放3306端口
$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
2、 安装iptables-persistent,使防火墙设置重启仍生效
$ sudo apt-get install iptables-persistent
3、 允许root用户远程访问
mysql> use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'redhat' WITH GRANT OPTION; mysql> flush privileges;
4、重启服务
$ sudo service msyql restart
5、添加用户mysync,用于同步数据库
$ mysql -uroot -predhat //登录数据库 mysql> GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'redhat'; //添加同步用户mysync,用于同步数据库 mysql> flush privileges; //使配置生效 mysql> show master status; //完成此步后,暂不操作主服务器,记住此处的
四、配置从服务器
1、 配置从服务器
#登录数据库 $ mysql -uroot -p # 添加主服务器 mysql > change master to master_host='10.0.0.24',master_user='mysync',master_password='redhat',master_log_file='mysql-bin.000001',master_log_pos=601;
# 启动slave mysql > start slave;
# 查看同步状态 mysql > show slave statusG # 同步配置下的Slave_IO_Runing 和Slave_SQL_Running必须为YES。
五、测试结果
1、 先在主服务器添加测试数据库
#在主服务器上新建数据库,并插入数据库 $ mysql -uroot -p mysql > create database hi_db; mysql > use hi_db; mysql > create table hi_tb(id int(3),name char(10)); mysql > insert into hi_tb values(001, ‘jeff’); mysql > show databases;
2、 在从服务器查看结果
# 登录slave数据库,并查看结果 $ mysql -uroot -p mysql > use hi_db; mysql > select * from hi_tb
六、备份与还原数据库
1、备份数据库
$ mysqldump -uroot -p test > ./test.sql //test为数据库
2、还原数据库
$ mysql -uroot -p test < ./test.sql
七、修改UUIDS
1、查看UUIDS的方法
$ mysql -uroot -p mysql > show variables like '%server_uuid%';
2、修改UUIDS
$ sudo vim /var/lib/mysql/auto.cnf
[auto]
server-uuid=a1e6a366-8499-11e7-b2cf-000c29edfb10