6 \ MySQL主从同步,MySQL读写分离,MySQL性能调优

  

day06
一、mysql主从同步
二,数据读写分离
三,mysql优化
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
一、mysql主从同步
1.1主从同步介绍吗?从库服务器自动同步主库上数据(被客户端访问的数据库服务器做主库服务器)
1.2结构

  
 <代码> 54 55  
  

systemctl开始mysqld systemctl开始mysqld
主主数据库服务器从奴隶数据库服务器

  

1.3配置主从同步结构?
1.3.1主库角色主机的配置
1用户授权
mysql>格兰特在复制的奴隶。 yaya@" 192.168.4.55"被“123456“

  

2启用binlog日志
10 vim/etc/my.cnf
server_id=54
log-bin=master54
binlog-format=癿ixed"
: wq
3重启数据库服务器
11 systemctl停止mysqld
12 systemctl开始mysqld
13 ls/var/lib/mysql/master54。*

  

4查看正在使用binlog日志文件。

  

mysql -uroot -p123456

  

mysql>显示主状态;

  

1.3.2从库角色主机的配置?
1显示自己是否是从数据库服务器
mysql>

显示奴隶状态;   

2测试主库授权的用户是否有效
# mysql -h292.168.4.54 -uyaya -p123456
mysql>显示的补助金;
mysql>退出

  

3修改配置文件指定server_id
# vim/etc/my.cnf
(mysqld)
server_id=55
: wq
# systemctl重启mysqld

  

4在本机数据管理员登录指定主库信息。
mysql>改变主
→master_host=?92.168.4.54",
→master_user=皔aya",
→master_password=?23456”,
→master_log_file=癿aster54.000001",
→master_log_pos=154;
查询好,0行影响,2警告(0.35秒)
mysql>开始奴隶;
mysql>显示奴隶状态\ G;
Slave_IO_Running:是的
Slave_SQL_Running:

  

验证主从同步配置:结果
客户端连接主库服务器产生的新数据,在从角色的主机上都能够查看到。

  

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
主从工作原理?
IO线程:把主库的binlog日志内容记录到本机的relay-binlog日志里。

  

SQL线程:执行本机relay-binlog日志里的SQL命令把数据写进本机的库。

  

从角色主机的数据库目录下会多出如下文件:
master.info存储主数据库的信息
slave55-relay-bin。XXXXXX
中继日志文件记录本机产生新数据的sql命令
slave55-relay-bin。指数中继日志文件索引文件
relay-log.info记录当前数据库服务器使用的中继日志文件

  

主从同步配置排错?
IO线程报错:从库指定主库的信息错误。
安全限制(防火墙selinux)

  

查看报错信息:
Last_IO_Error:报错信息

  

mysql>停止奴隶;
mysql>改变mstart选项=值;
mysql>

开始的奴隶;   

SQL线程报错:执行中继日志里的SQL命令时,命令操作的库或表在本机不存在。

  

查看报错信息:
Last_SQL_Error:报错信息
mysql>停止奴隶;
在从本机有命令操作的库或表
mysql>

开始的奴隶;   

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
让从数据库临时不同步主库的数据?
mysql>停止奴隶;

  

把从库还原成独立的数据库服务器?
# rm射频master.info slave55-relay-bin。* relay-log.info
# systemctl重启mysqld

  

mysql>显示奴隶状态;

  

主从同步结构模式?
一主一从
一主多从

主从从
互为主从(主主结构)

  

重置大师#清空主的日志
重置奴隶#只清空日志
重置所有奴隶#需要重新配置修改主

  

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
主从同步常用配置参数?)(/etc/my . cnf中所做
主库角色主机的配置参数
(mysqld)
binlog_do_db=数据库名,数据库名#只允许同步的库binlog_ignore_db=数据库名,数据库名#只不允许同步的库

  

mysql>显示主stauts;

  

从库角色主机的配置参数
(mysqld)
log_slave_updates级联复制
replicate_do_db=数据库名,数据库名#只同步的库
replicate_ignore_db=数据库名,数据库名#只不同步的库relay_log=文件名#设置中继日志文件名称
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
二,数据读写分离
2.1读写分离介绍吗?把客户的查询记录的操作和写数据的操作在不同的数据库服务器上执行。

  

2.2为什么要做读写分离?减轻单台数据库服务器的并发访问压力和提供服务器硬件资源的利用率

  

2.3配置数据读写分离(Maxscale +主从同步结构)

6 \ MySQL主从同步,MySQL读写分离,MySQL性能调优