mysql主从配置

主从数据库的配置

参考资料
http://blog.****.net/hguisu/article/details/7325124/

实现思路:

开两个虚拟机,一个作mysql主服务器,一个作mysql从服务器

问题:

开两个虚拟机会出现mysql uuid重复的问题

拷贝的整个镜像。所以mysql的整个data目录也是一样的,把auto.cnf文件也拷贝过来了,里面记录了数据库的uuid,每个库的uuid应该是不一样的。

解决方案:

1.查看主服务器中的mysql中uuid是否一样

show variables like "server_uuid";

2.在从服务器mysql中查看uuid

show variables like 'server_uuid';

如果一样,查看当前mysql的文件位置
show variables like 'datadir';
datadir : /var/lib/mysql/

3.使用管理员身份进入该目录

sudo -s
cd /var/lib/mysql/

mv auto.cnf auto.cnf.bk 对该文件重命名

4.重启下mysql数据库,会自动重新生成一个uuid

sudo service mysql restart
mysql主从配置

配置主从服务器具体步骤

1.让主服务器数据库与副服务器数据库一致

1. 主服务器输入命令,备份主服务器数据
     主服务器输入:
mysqldump -uroot -pmysql --all-databases --lock-all-tables > ~/master_db.sql

mysql主从配置
mysql主从配置
2. 主服务器备份文件上传到副服务器
主服务器输入:
sudo scp -r /home/python/master_db.sql [email protected]:/tmp
mysql主从配置
3. 副服务器导入数据
副服务器输入:mysql –uroot –pmysql < master_db.sql
mysql主从配置

2.配置主服务器

1. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

mysql主从配置
2. 重启服务器
sudo service mysql restart
mysql主从配置
3. 在主服务器创建一个mysql用户用来同步数据
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ identified by ‘slave’;
4. 在mysql中刷新权限
FLUSH PRIVILEGES;
mysql主从配置

3.配置副服务器

1. 修改副服务器配置文件
	sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf;

mysql主从配置

2. 重启服务器
	sudo service mysql restart

mysql主从配置

3. 查看主服务信息
	数据库>SHOW MASTER STATUS;

mysql主从配置

3. 连接mater(主服务器)
	change master to master_host='172.16.251.132', master_user='slave', master_password='slave',master_log_file='mysql-bin.000003', master_log_pos=154;
	master_host:主机地址
	master_user:用户名
	master_password:密码
	master_log_file:前面查询到的主服务器日志文件名
	master_log_pos:前面查询到的主服务器日志文件位置


4. 开启同步
start slave;
5. 查看同步状态
show slave status\G;
mysql主从配置