MySQL的性能出现问题之后,一台服务器的MySQL是不足以承担一个大型网站的读写操作的,所以出现了MySQL的主从复制与读写分离的操作。
主从数据库图例- 登录远程数据库
-
mysql -u root -p -h xxx.xxx.xxx.xxx -P 3306
输入密码并登录
- 授权从数据库(yyy.yyy.yyy.yyy)
- mysql> GRANT REPLICATION SLAVE ON . to 'root'@'yyy.yyy.yyy.yyy' identified by ‘password’;
- 修改从数据库的conf文件
-
server-id=1
//给数据库服务的唯一标识
- 在数据库中建立对应的表单,或者同步当前的master的SQL文件,但是运行时不能有数据写入,否则会造成Log的不对应错误。
- 查询master的数据库状态。使用
show master status
命令 - 在slave数据库上运行
change master to master_host="xxx.xxx.xxx.xxx",master_port=3306,master_user="root",master_password="",master_log_file="mysql-bin.????",master_log_pos=从master查询到的数据;
- 运行slave服务器
start slave;
-
show slave status\G
查看从库的状态,两个yes
的情况下通过 - 更新新master数据查看数据是否出现在slave
done!
网友评论