一. 熟悉mysql读写分离及mysql存储引擎的区别。
- Ndb集群存储引擎、myisam、innodb
- Myisam为mysql安装后默认的存储引擎,不支持事务,行级锁和外键约束的功能;ndb为mysql集群存储引擎与innodb都支持事物,行级锁和外键约束。使用show engines;查看mysql支持的存储引擎。
- 读写分离:
i. 环境:
- 应用程序client
- Database proxy
- Database集群(两台以上mysql机器)
ii. 搭建主从:
- 安装mysql;
- 配置master的my.cnf:
log-bin=mysql-bin
server-id=1
添加专门用于同步的用户:
GRAND REPLICATION SLAVE ON *.* [email protected] IDENTIFIEFD BY ‘password’;
重启mysql使配置生效;
最后查看mysql状态:show master status;
配置slave的my.cnf:
Server-id=2
配置生效后,配置与master的连接:
mysql> CHANGE MASTER TO
-> MASTER_HOST=‘10.20.147.110‘,
-> MASTER_USER=‘repl‘,
-> MASTER_PASSWORD=‘111111‘,
-> MASTER_LOG_FILE=‘mysql-bin.000003‘,
-> MASTER_LOG_POS=161261;
其中MASTER_HOST是master机的ip,MASTER_USER和MASTER_PASSWORD就是我们刚才在master上添加的用户,MASTER_LOG_FILE和MASTER_LOG_POS对应与masterstatus里的信息
最后启动slave:
mysql>start slave;
4)验证master-slave搭建生效
通过查看slave机的log(/var/log/mysqld.log):
10070310:51:42 [Note] Slave I/O thread: connected to master‘[email protected]:3306‘, replication started in log ‘mysql-bin.000003‘at position 161261
如看到以上信息则证明搭建成功,如果有问题也可通过此log找原因