mysql性能优化总结(五)

mysql高可用架构

  myql复制功能可用于mysql在线升级.

  mysql二进制日志原来默认段模式,现在默认row模式,复制更安全,缺点日志量更大,可以通过修改row_image参数来优化,默认FULL(20列修改一列,20列全部记录),可以修改成NOBLOB(只要text或者BLOB列没更新,就不记录text或者BLOB列),MINIMAL(只记录更新的列,20列更新1列,则只记录一列)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

截图中有一些错误

MySQL主从同步配置

1.编辑MySQL主上的/etc/my.cnf,

log-bin=imooc_mysql
server-id=1
  • log-bin :MySQL的bin-log的名字
  • server-id : MySQL实例中全局唯一,并且大于0。

2.编辑MySQL从上的/etc/my.cnf,

server-id=2
  • server-id : MySQL实例中全局唯一,并且大于0。与主上的 server-id 区分开。

3.在MySQL主上创建用于备份账号

mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

4.MySQL主上加锁,阻止所有的写入操作

mysql> FLUSH TABLES WITH READ LOCK;

5.MySQL主上,查看bin-log的文件名和位置

mysql > SHOW MASTER STATUS;

6.MySQL主上dump所有数据,

mysqldump --all-databases --master-data > dbdump.db -uroot -p

7.MySQL主进行解锁,解锁后,主上可以写入数据

mysql> UNLOCK TABLES;

8.MySQL从上导入之前dump的数据

mysql < aa.db -uroot -p

9.MySQL从上配置主从连接信息

mysql> CHANGE MASTER TO
	-> MASTER_HOST='master_host_name', 	
	-> MASTER_PORT=port_num 
	-> MASTER_USER='replication_user_name', 
	-> MASTER_PASSWORD='replication_password', 			        
	-> MASTER_LOG_FILE='recorded_log_file_name',			   
    -> MASTER_LOG_POS=recorded_log_position;
  • master_host_name : MySQL主的地址
  • port_num : MySQL主的端口(数字型)
  • replication_user_name : 备份账户的用户名
  • replication_password : 备份账户的密码
  • recorded_log_file_name :bin-log的文件名
  • recorded_log_position : bin-log的位置(数字型)
  • bin-log的文件名和位置 是 步骤5中的show master status 得到的。

10.MySQL从上开启同步

mysql> START SLAVE;

查看MySQL从的状态

show slave status;


mysql主从复制性能优化
  1.使用多线程复制(逻辑时钟)
    

 

 


  2.二进制传输格式采用mixed或者row+minimal





































 

posted @ 2020-07-15 17:30  红嘴鲤鱼  阅读(161)  评论(0编辑  收藏  举报