nainai1 发表于 2018-10-6 08:54:07

mysql5.6 使用杂记

  ##############################################################
  建备份用户:

  create user 'backuser'@'localhost'>  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 -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
  恢复数据:
  尽可能使用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}

页: [1]
查看完整版本: mysql5.6 使用杂记