mysql相关笔记
mysql主从复制步骤
1,创建用户
create user 'zhongc'@'192.168.0.%' identified by '123456';
指定访问者host
grant replication slave on *.* to 'zhongc'@'192.168.0.%' identified by '123456';
需要哪些权限
mysql日志
- Error log 错误日志
- General query log 普通查询日志
- Slow query log 慢查询日志
- Binary log 二进制日志 ,记录了所有操作mysql的日志 DDL ,DML
Binary log
- 增量备份
- 主从数据同步
mysql5.7版本默认不开启binlog日志
show variables like '%log_bin%'
- 如何开启binlog日志
[mysqld]
server_id=1 # 不能重复
log_bin=mysql-bin #binlog日志文件的名字
binlog-format=ROW
binlog-do-db=demo
+---------------------------------+---------------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------------+
| log_bin | ON |
| log_bin_basename | /usr/local/mysql/data/mysql-bin |
| log_bin_index | /usr/local/mysql/data/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+---------------------------------------+
mysql-bin.000001 是数据文件,保存日志数据
mysql-bin.index 是索引文件, 保存日志文件的名字
- 查看binlog
show binlog enevts in 'filename'
或者
mysqlbinlog filename
查看日志当前状态
show master status
提价日志,生成一个新的日志文件
flush logs
查看所有日志文件
show master logs
删除所有日志文件
reset master
- 使用binlog进行数据恢复
mysqlbinlog mysql-bin.00001 | mysql -uroot -p
mysqlbinlog mysql-bin.000001 -start-position 219 -stop-position 421 | mysql -uroot -p
搭建主从
- 整体规划
- 准备机器,配置网络,安装mysql
- 配置主节点
-- 创建用户
-- 开启binlog - 配置从节点
-- 配置同步日志[mysqld] server_id=2 # 不能重复 relay-log=/var/lib/mysql/relay-bin # binlog日志文件的名字 relay-log-index=/var/lib/mysql/relay-bin.index #修改 auto.cnf 中的uuid与主节点不同
-- 指定主节点ip,端口,用户
change master to master_host='192.168.0.105',master_port=3306,master_user='zhongc',master_pas sword='123456',master_log_file='mysql-bin.000001',master_log_pos=0;
查看从节点
show salve status\G;
如果
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
就表示成功
-- 启动从节点
主主复制
-
在从库开启binlog
[mysqld] server_id=2 # 不能重复 log_bin=mysql-bin #binlog日志文件的名字 relay-log=/var/lib/mysql/relay-bin # binlog日志文件的名字
-
在从库创建用户并赋予权限
-
在主节点指向从库节点ip,端口,用户
-
配置自动增长 的步长
HaProxy
- 代理tcp连接
-- 可以代理多个从节点,进行负载均衡
KeepAlived
- ka会虚拟一个ip,来绑定到集群中master机器上,当master挂了,ka会把虚拟ip绑定到backup机器上,来实现切换,可以实现高可用
Mycat
- 用户从哪里来
-- server.xml