码迷,mamicode.com
首页 > 数据库 > 详细

mysql5.6 使用杂记

时间:2018-03-28 14:11:37      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:mysql5.7   mysql -e命令使用   

##############################################################
建备份用户:
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 DATABASE DCOM /!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 -t DCOM 表名> test.sql
只导出数据不导出表结构:
mysqldump --login-path=backuser --add-locks -q -d DCOM 表名> test.sql
备份所有数据:
mysqldump --login-path=backuser --add-locks -q DCOM > test.sql
恢复数据:
尽可能使用source
mysql --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;" DCOM
mysql --login-path=test -e "source /root/sql/2018-03-28/T_ADMIN_PERMISSION.sql;" DCOM
mysql --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/bash
path=/opt/sql
dir=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
do
number=mysql --login-path=backuser -e "select count(*) from DCOM.$i" | tail -1
if [ $number -gt 0 ]
then echo "$i" >> $path/$dir1/datanum.txt
else echo "$i" >> $path/$dir1/nodatanum.txt
fi
done

for tables in cat $path/$dir1/datanum.txt
do
mysqldump --login-path=backuser --add-locks -q -t DCOM $tables > $path/$dir1/$tables.sql
done

rm -f $path/$dir1/{datanum.txt,nodatanum.txt,tables.txt}

mysql5.6 使用杂记

标签:mysql5.7   mysql -e命令使用   

原文地址:http://blog.51cto.com/1054054/2091983

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!