# 必须说明的是:
# 0 内存盘的特性是断电就丢数据.
# 1 对数据时效性要求高的自己做主从
# 2 重启or关机必须导出数据和开机加载数据。
# 3 最好弄个脚本 开关机自己调用。
# 4 简单点可以直接复制文件 参考 利用XtraBackup给MYSQL热备(基于数据文件) http://blog.baiduola.com/890/
# 5 平时加大备份数据的频率

#########################################################################################################
# 可选 修改MYSQL文件到内存盘 ############################################################################
#########################################################################################################

# 检查和设定内存盘大小
# vi /etc/fstab
# 修改/etc/fstab的这行: 默认的:
# tmpfs   /dev/shm        tmpfs   defaults        0       0
# 改成:
# tmpfs   /dev/shm        tmpfs   defaults,size=256M        0       0
# size参数也可以用G作单位:size=1G。
# 重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
# 马上可以用"df -h"命令检查变化。
# cd /dev/shm
# 测试下IO吧 爽死你
# dd if=/dev/zero of=ANGIE.K_100MB bs=100k count=1k oflag=dsync

# 建立数据库文件目录和临时目录
# rm -rf /dev/shm/
mkdir -p /dev/shm/mysql_data
mkdir -p /dev/shm/mysql_tmpdir
mkdir -p /home/mysql_data/log
mkdir -p /home/mysql_data/binlog

chown -R mysql:mysql /dev/shm/mysql_data
chown -R mysql:mysql /dev/shm/mysql_tmpdir
chown -R mysql:mysql /home/mysql_data


# 在/home目录创建软链接 方便平时查看
ln -s /dev/shm /home/mysql_data/data@ram_disk
ln -s /etc/my.cnf /home/mysql_data/my_cntf@etc
# 备份my.cnf
cp /etc/my.cnf /etc/my.cnf.backup

# 修改my.cnf

cat >/etc/my.cnf<<ANGIE.K
[mysqld]
user=mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

# 内存盘 BEGIN ##################################################
datadir=/dev/shm/mysql_data
tmpdir=/dev/shm/mysql_tmpdir
# 内存盘 END ####################################################

# Slave BEGIN ##################################################
# 配置主从复制 该机器为只读从机
  server-id=`echo $(date -d 'yesterday' +'%m%d%H%M%S')`
# 设置从服务器为只读
  #read-only=1
# 设置从服务器名字
  #report-host=从服务器名字
# 主机地址
  #master-host=主机地址
# 从复制账号
  #master-user=从复制账号
# 从复制密码
  #master-password=从复制密码
# 重试间隔时间10秒
  #master-connect-retry=30
# 忽略某些表
  #replicate-wild-ignore-table=%.ecs_sessions
# 启用从服务器日志 这样这台从服务器也可以提供其他从服务器复制(链式复制)
  log-slave-updates
  log-bin=/home/mysql_data/binlog/mysql-bin
# Slave END ####################################################

[mysqld_safe]
log-error=/home/mysql_data/log/mysql-log
pid-file=/var/run/mysqld/mysqld.pid
ANGIE.K

# 重启会出现一段提示 因为现在我们没有数据 说的是MYSQL初始化成功并开始监听3306  初始化完毕后重启OK
service mysqld restart

# 数据远程数据下载到本地 参考http://blog.baiduola.com/907/

# 恢复数据到到内存盘 因为现在的mysql是空的我们直接利用空密码的root@localhost来恢复就是了
time myloader -h localhost -u root -d /home/ftp/b/backup_data/mydumper/ALL/LastBackUp -o -v 3 -C -t 6
cat $BACKUP_FILES_DIR/metadata

# 好了,到这里了再重载下权限就可以了 享受MYSQL的0IO狂奔吧

#########################################################################################################
# 可选 修改MYSQL文件到内存盘 ############################################################################
#########################################################################################################
posted on 2014-05-14 10:11  老游条  阅读(445)  评论(0编辑  收藏  举报