CENTOS 修改MYSQL文件到内存盘

时间:2023-12-14 16:19:44

# 必须说明的是:

# 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文件到内存盘 ############################################################################
#########################################################################################################