本文已在本人博客https://www.nsxsg.com/archives/92首发
文章目录
多机部署之MySQL主从配置
MySQL的主从配置可以让我们很好地减轻数据库的压力而完成更多的业务需求,下面笔者就来介绍一下简单的MySQL主从配置。
- 主(从)服务器配置,修改配置文件
/etc/my.cnf
[mysqld] log-bin=mysql-bin #[必须]启用二进制日志 server-id=110 #[必须]服务器唯一ID,默认是1,一般取IP最后一段
- 重启数据库
/etc/init.d/mysqld restart
- 登陆主服务器,给从服务器授权
mysql > GRANT REPLICATION SLAVE ON *.* TO '用户名'@'从服务器IP' identified by '密码'; #查看是否添加成功 mysql > SELECT user,host,password FROM mysql.user;
- 查看主数据库状态
mysql > show master status; +——————+———-+————–+——————+——————-+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +——————+———-+————–+——————+——————-+ | mysql-bin.000001 | 640 | | | | +——————+———-+————–+——————+——————-+ 1 row in set (0.00 sec) #这里需要记录File以及Position的值,在操作从服务器时会用到
- 登陆从数据库
#执行sql mysql > change master to master_host='主数据库ip',master_user='数据库登陆用户名',master_password='数据库登陆密码',master_log_file='mysql-bin.000001',master_log_pos=640; #启动同步进程 mysql > start slave; #主从同步检查 mysql > show slave status\G #可以看到:Slave_IO_Running | Slave_SQL_Running两个值都是YES,说明配置成功了
- 主从服务器测试
#主服务器MySQL,建立数据库,并在这个库中建表插入一条数据 #从服务器查看是否拥有此数据
- MySQL主服务器给web服务器授权访问
mysql > GRANT ALL PRIVILEGES ON 数据库名.* to '用户名'@'web服务器ip' identified by '密码';