mysql数据库运维方案
![mysql数据库运维方案](https://img.360docs.net/imgfe/1tru4qs590svrm1f4h0bhmyevb9n0nfr-e1.webp)
![mysql数据库运维方案](https://img.360docs.net/imgfe/1tru4qs590svrm1f4h0bhmyevb9n0nfr-e2.webp)
mysqldump --socket=/home/q/mysql/multi/3306/socket/mysql.sock -hlocalhost -utester -p123456 --databases testdb1 testdb2 > testdb.sql 2.2:导入某些库
mysql-hlocalhost -utester -p123456 < testdb.sql
或者
mysql>source testdb.sql;
第3组命令:
3.1:导出单个库
mysqldump --socket=/home/q/mysql/multi/3306/socket/mysql.sock -hlocalhost -utester -p123456 --databases testdb1 > testdb1.sql
3.2:导入单个库
mysql-hlocalhost -utester -p123456 < testdb1.sql
或者
mysql>source testdb1.sql;
第4组命令:
4.1:导出某些数据表
mysqldump --socket=/home/q/mysql/multi/3306/socket/mysql.sock -hlocalhost -utester -p123456 --databases testdb1 table1 table2 > tables.sql 4.2:导入某些数据表
mysql -uusername -ppassword testdb1 < tables.sql
或者
mysql>source tables.sql;
02、shell脚本实现数据库备份
#!/bin/bash #是指此脚本使用/bin/bash来解释执行,#!是特殊的表示符export PATH=/bin:/usr/bin:/usr/local/bin #进行环境变更的设置
TODAY=`date +"%d%b%Y"` #获取日期,进行变更赋值
DB_BACKUP_PATH='/backup/dbbackup' #先创建备份目录
MYSQL_HOST='localhost' #mysql服务器
MYSQL_PORT='3306' #mysql服务端口
MYSQL_USER='root' #mysql账号
MYSQL_PASSWORD='123456' #mysql 密码
DATABASE_NAME=‘db1' #指定备份的数据名称
mkdir -p ${DB_BACKUP_PATH}/${TODAY} #创建备份的目录
echo "Backup started for database - ${DATABASE_NAME}" #输出开始备份提示语
mysqldump -h ${MYSQL_HOST} \
-P ${MYSQL_PORT} \
-u ${MYSQL_USER} \
-p ${MYSQL_PASSWORD} \
${DATABASE_NAME} | gzip >
${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz #执行备份并压缩
if [ $? -eq 0 ]; then #判断mysqldump是否成功
echo "Database backup successfully completed" #输出成功的提示语
max_binlog_size = 100m
#binlog缓存大小
binlog_cache_size = 4m
#最大binlog缓存大小
max_binlog_cache_size = 512m
重启服务。
执行mysqlbinlog命令恢复数据:
$> mysqlbinlog --stop-date="2019-05-31 23:59:59"
/home/q/mysql/log/binlog/binlog.000009 | mysql -utester -p123456 #根据日志文件binlog.000008将数据恢复到2019-05-31 23:59:59以前的操作。
总结:数据库的运维对于测试人员来说仍然是非常重要的,比如:非常重要也不太容易构建的测试数据需要做备份操作时,数据库的运维就显得很有技术含量,掌握数据的基本运维可以使测试工作做得更出色,同时也会让开发刮目相看,朋友们一起加油~