mysql4009报错_mysql如何主从同步?

一、使用完全备份文件恢复单个表----innobackupex

--apply-log --export 导出表信息 .exp .cfg

discard tablespace 删除表空间 .ibd

import tablespace 导入表空间

/gamedb

drop table t1;

1 按照源表结构创建表t1 create table t1(id int);

2 从备份文件里导出表信息

#innobackup --user root --password abc123 --databases="库名列表"

--apply-log --export /gamedbbak

3 删除表空间

mysql> alter table t1 discard tablespace;

4 把导出的表信息 拷贝的对应的数据库目录下

#cd /gamedbbak/gamedb

#cp t1.{exp,ibd,cfg} /var/lib/mysql/gamedb/

#ls /var/lib/mysql/gamedb/t1.#chown mysql:myql /var/lib/mysql/gamedb/t1.

5 导入表空间 alter table t1 import tablespace;

6 select from t1;

+++++++++++++++++++++++++++++++++++++++

二、主从同步

2.1 什么是主从同步: 让其他的数据库服务器自动同步正在提供服务的数据库服务器上 的数据。

2.2 配置mysql主从同步结构

主数据库服务器的配置:

1 添加授权用户 grant replication slave on.* to slaveuser@"192.168.4.12" identified by "123456";

2 启用binlog日志

3 重启数据库服务

4 查看日志信息 mysql> show master status;

从数据库服务器的配置:

1 验证主库提供的授权用户

2 修改配置文件指定server_id 并重启数据库服务

3 使用本机的数据库管理员登录,指定主库信息。

mysql> show slave status;

mysql> change master to master_host="192.168.4.11",

master_user="slaveuser",

master_password="123456",

master_log_file="master11.000001",

master_log_pos=154;

mysql>start slave;

mysql>show slave status\G;

slave_IO_Running: Yes

slave_SQL_Running: Yes

测试主从同步配置:

1 在主库服务器上添加访问数据的用户

2 在客户端使用授权用户连接主库,产生的数据在从库本机也能够查看的到。

+++++++++++++++++++++++++++++++++

从数据库目录下多出文件

master.info

主机名-relay-bin.000000 中继日志文件

主机名-relay-bin.index

relay-log.info

++++++++++++++++++++++++++

主从同步工作原理

mysql> stop slave ;

mysql> change master to 选项=“值”;

mysql> start slave;

++++++++++++++++++++++++++++++++++++

主从同步结构模式

一主一从 一主多从

主从从

主主结构(互为主从)

+++++++++++++++++++++++++++++++++++

主从同步常用配置参数:

#vim /etc/my.cnf

[mysqld]

选项=值

:wq

#systemctl restart

主库配置文件里(对应所有的从都有效)

只允许同步的库 binlog_do_db=库名1,库名2,库名n

不允许同步的库 binlog_ignore_db=库名1,库名2,库名n

从库配置文件里(只对本机有效)

只同步的库 replicate_do_db=库名1,库名2,库名n

只不同步的库 replicate_ignore_db=库名1,库名2,库名n

级联复制 log_slave_updates

+++++++++++++++++++++++++++++++++++

三、数据读写分离 maxscale软件 + 一主一从

3.1 什么读写分离:把客户端访问数据时的查询请求select 和写insert 给不同的数据库服务器处理。

client 254 mysql -h192.168.4.15 -uyaya99 -p123456

|

15

代理主机---> systemctl stop mysqld

|

| |

192.168.4.11 192.168.4.12

写 读

主 从

1 配置一主一从结构

2 配置代理主机

2.1

a 装包

b 、修改配置文件:

指定数据库服务器 、指定监控的数据库服务器 ,指定读写在那些主机之间执行、

定义管理服务 、读写分离服务使用的端口、管理服务使用的端口

4006 4009

c、根据配置文件设置,在数据库服务器上添加对应的授权用户

grant replication slave ,replication client on . to scalemon@"%" identified by "123456" 监控数据库服务器状态的用户(数据库服务器状态和主从同步状态)

grant select on mysql.* to maxscale@"%" identified by "123456"; 监控客户端连接时,使用的用户名和密码在监监视的数据库服务器上是否存在。

d、在代理主机上测试授权用户

#which mysql

#yum -y install mariadb

#mysql -h192.168.4.11 -uscalemon -p123456

#mysql -h192.168.4.11 -umaxscale -p123456

#mysql -h192.168.4.12 -uscalemon -p123456

#mysql -h192.168.4.12 -umaxscale -p123456

e、启动服务

#maxscale -f /etc/maxscale.cnf ( 停止服务 pkill -9 maxscale)

#netstat -utnalp | grep maxscale

2.2 测试配置

A\ 在代理服务器本机访问管理服务

15#maxadmin -uadmin -pmariadb -P4009

maxscale> list servers

B 在客户端254主机 访问代理服务器存储数据或查询数据

#which mysql

#yum -y install mariadb

#mysql -h192.168.4.15 -P4006 -uyaya99 -p123456

++++++++++++++++++++++++++++++++++++

四、mysql服务的优化

五mysql高可以集群 (mysql-mmm + 主从同步) 11-14 15

#yum -y install perl-*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值