数据库备份
冷备份
说明:定期进行数据导出.工具sqlYog
缺点:
1.不能保证数据的完整性.
2.如果数据库中的文件较大,则导出的.sql文件体积很大.
补充:
数据库冷备份是恢复数据的最后有效手段.
热备份
主库:主要负责写入二进制日志文件
从库:主要负责监听主库中的数据的修改.并且同步到从库中
调用过程:
- 当主库中的数据发生变化时,会将更新的操作写入二进制日志文件中.
- 从库通过IO线程实时监听主库中的二进制日志文件,当文件发生变化时,读取变化的日志内容写入中继日志中.
- 从库通过Sql线程读取中继日志中的消息,最终将数据同步到从库中.
克隆2台虚拟机
克隆2台全新的数据库mysql-master/mysql-slave.之后将IP设置为固定IP
安装Mysql数据库
- 上传Mysql安装文件
在/usr/local/src中新建mysql文件夹,之后上传数据库安装文件
- 解压文件
tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar
[root@localhostmysql]# tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar
Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-devel-56-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-test-56-5.6.24-rel72.2.el6.x86_64.rpm
Percona-Server-tokudb-56-5.6.24-rel72.2.el6.x86_64.rpm
- 安装mysql数据库
安装顺序:1 56-debug-info 2.shared 3.client 4.server
安装命令:
rpm -ivh安装文件的名称
1.安装Debug-info
rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm
2.安装shared
rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm
3.安装client客户端
rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
4.安装服务端
rpm -ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm
启动Mysql服务项
启动命令:servicemysql start
重启命令: service mysql restart
关闭命令:servicemysql stop
导入数据库
关闭防火墙
- 将数据库文件上传到mysql文件夹中
2. 设定用户名和密码
mysqladmin -u root password root
3. 使用新密码登录
4.导入京淘数据库
命令:source绝对路径/usr/local/src/mysql/jtdb.sql;
Source 相对路径jtdb.sql;
5. 测试检查数据库是否正确
show tables;
6.开启mysql对外访问权限
grant all on . to ‘root’@’%’ identified by ‘root’;
7.连接数据库
8.关于数据库报错解决方案
查询进程号PID
实现数据库主从搭建
开启主库二进制日志文件
- 编辑mysql系统配置文件vim /etc/my.cnf
- 之后重启mysql数据库服务器
检查二进制文件是否存在
配置从库
- 修改从库二进制文件 vim /etc/my.cnf
- 重启mysql从库
实现数据库主从挂载
- 检查主库的状态
Show master status;
- 实现主从挂载
/*实现主从挂载主库IP/端口/用户名/密码/二进制日志文件/位置*/
CHANGE MASTER TO MASTER_HOST="192.168.126.162",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=120
/*启动主从服务*/
START SLAVE
/*检查主从状态*/
SHOW SLAVE STATUS;
/*如果挂载有误,先关闭主从服务之后重新挂载主从*/
STOP SLAVE
状态检测
执行命令:**SHOW SLAVE STATUS;**如果出现2个yes则表示挂载成功
之后状态测试
修改主库数据,检查数据是否同步.
实现数据库读写分离
读写分离原理
用户的写库操作执行主库.用户的读写操作指向从库
Amoeba(变形虫)
Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。
Amoeba搭建步骤
配置JDK环境
- 上传JDK
- 解压JDK
- 配置环境变量/etc/profile
- Source /etc/profile
安装Amoeba
- FZ工具使用
- 下载文件
- 解压文件
修改dbServer.xml
- 配置amoeba连接数据库
- 配置数据库链接
- 配置连接池.定义负载均衡
修改Amoeba.xml
- 配置IP
- 定义用户名和密码
- 配置读写分离
修改JVM内存
JVM_OPTIONS="-server -Xms256m -Xmx1024m -Xss196k -XX:PermSize=16m -XX:MaxPermSize=96m"
-Xms256m初始化内存大小256m
-Xmx1024m最大内存1g
-Xss196k每次线程大小
启动Amoeba
注意事项:关闭防火墙
命令:
./launcher
./shutdown