本文共 2946 字,大约阅读时间需要 9 分钟。
##############################################################
建备份用户:create user 'backuser'@'localhost' identified by 'itsecu@890';grant backup,select,insert,update,delete,create on DCOM. to backuser@'localhost';grant show view,lock tables,trigger,select,insert,update,delete,create on DCOM. to backuser@'localhost';update user set plugin='mysql_native_password',password=PASSWORD("itsecu@890") where user="backuser";flush privileges;##############################################################
拒绝登录解决:update user set plugin='mysql_native_password',password=PASSWORD("itsecu@890") where user="backuser";备份报错:UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='backuser';##############################################################
设置安全登录:mysql_config_editor set --login-path=backtest --user=backuser --password##############################################################
删库问题:
报:ERROR 1010 (HY000): Error dropping database (can't rmdir '.\qpweb', errno: 41)在库运行的情况下删除数据库数据目录下面的数据文件,再建库,然后导入数据。show create database DCOM;
CREATE DATABASEDCOM
/!40100 DEFAULT CHARACTER SET utf8 / ############################################################## 备份:
只导出数据库中的数据(不包含表结构):mysqldump --login-path=backuser --add-locks -q -t DCOM > test.sql只导出数据库中的表结构(不包含数据):mysqldump --login-path=backuser --add-locks -q -d DCOM > test.sql只导出表结构不包含数据:mysqldump --login-path=backuser --add-locks -q -d DCOM 表名> test.sql只导出数据不导出表结构:mysqldump --login-path=backuser --add-locks -q -t DCOM 表名> test.sql备份所有数据:mysqldump --login-path=backuser --add-locks -q DCOM > test.sql恢复数据:尽可能使用sourcemysql --login-path=backuser -e "source test.sql"##############################################################
建库:
mysql --login-path=test -e "CREATE DATABASE DCOM DEFAULT CHARACTER SET utf8;"导入表结构:mysql --login-path=test -e "source /root/97tables.sql;" DCOM导入数据:mysql --login-path=test -e "source /root/sql/2018-03-28/T_ADMIN_OPERATOR.sql;" DCOMmysql --login-path=test -e "source /root/sql/2018-03-28/T_ADMIN_PERMISSION.sql;" DCOMmysql --login-path=test -e "source /root/sql/2018-03-28/T_ADMIN_POST_PERMISSION.sql;" DCOM查询表数据行数:mysql --login-path=test -e "select count(*) from DCOM.T_ADMIN_ROLE;"##############################################################
备份数据库中数据表行数不为0的表中数据,不包括表结构: 20,0-1 All#!/bin/bashpath=/opt/sqldir=mkdir $path/$(date +%Y-%m-%d)
dir1=$(date +%Y-%m-%d)mysql --login-path=backuser -e "show tables from DCOM" > $path/$dir1/tables.txt for i in cat $path/$dir1/tables.txt
mysql --login-path=backuser -e "select count(*) from DCOM.$i" | tail -1
if [ $number -gt 0 ]then echo "$i" >> $path/$dir1/datanum.txtelse echo "$i" >> $path/$dir1/nodatanum.txtfidone for tables in cat $path/$dir1/datanum.txt
rm -f $path/$dir1/{datanum.txt,nodatanum.txt,tables.txt}
转载于:https://blog.51cto.com/1054054/2091983