建库、用户语句

  1. create database test_hb;
  2. create user ' test_hb'@'%' identified by '123456';
  3. grant all privileges on test_hb.* to ' test_hb'@'%';
  4. grant all privileges on test_hb.* to test_hb@localhost identified by '123456';
  5. flush privileges;

备份脚本

  1. #!/bin/sh
  2.  
  3. # $Id: mysql_backup
  4.  
  5. # define restricted path
  6. PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/mysql3306/bin"
  7.  
  8. # adirname - return absolute dirname of given file
  9. adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; }
  10.  
  11. # ---------
  12. # constants
  13. # ---------
  14. MYNAM=`basename "$0"`
  15. MYDIR=`adirname "$0"`
  16. MYTMP="${MYDIR}/tmp"
  17. MYLCK="${MYTMP}/${MYNAM}.lock"
  18.  
  19. MYPRG="/usr/local/mysql3306/bin/mysql -uroot -p123456 -P 3306 -h 127.0.0.1 --local-infile=1 -Bse" # mysql client
  20. MYDMP="/usr/local/mysql3306/bin/mysqldump -uroot -p123456 -P 3306 -h 127.0.0.1 -Q -R -v --opt" # mysqldump
  21. ROTATE=`date +%d`
  22. MYBAK="/home/backup/mysql/${ROTATE}" # destination dir
  23. DT=""
  24.  
  25. # ---------
  26. # functions
  27. # ---------
  28.  
  29. message() { echo "$@"; } # message - output message on stdout
  30. error() { echo "$@" >&2; } # error - output message on stderr
  31. die() { error "$@"; exit 1; } # die - output message on stderr and exit
  32.  
  33. usage() {
  34. error "Usage: ${MYNAM} <options>"
  35. error ""
  36. error "Available options:"
  37. error ""
  38. error " -h This help screen"
  39. error ""
  40. error " -q suppress non-error messages"
  41. error " -d db1,db2,... To dump several databases."
  42. error " -t File name with datetime"
  43. error " -p path Dump to the directory"
  44.  
  45. die
  46. }
  47.  
  48. # parse command line options
  49. while getopts d:p:hqt opt; do
  50. case "${opt}" in
  51. q)
  52. V='-q'
  53. ;;
  54. t)
  55. DT=".`date +%Y%m%d%H%M`"
  56. ;;
  57. p)
  58. DP=${OPTARG}
  59. ;;
  60. d)
  61. DBS=(${OPTARG//,/ })
  62. ;;
  63. h)
  64. usage
  65. ;;
  66. *)
  67. usage
  68. ;;
  69. esac
  70. done
  71.  
  72. [ -n "${DP}" ] && MYBAK="${DP}"
  73.  
  74. if [ ! -d ${MYTMP} ] ; then
  75. mkdir -p ${MYTMP}
  76. fi
  77.  
  78. if [ ! -d ${MYBAK} ] ; then
  79. mkdir -p ${MYBAK}
  80. fi
  81.  
  82. # ----
  83. # main
  84. # ----
  85.  
  86. # perform some locking (as good as it gets in a shell)
  87. [ -s "${MYLCK}" ] && kill -0 `cat "${MYLCK}"` 2>/dev/null &&
  88. die "${MYNAM}: already running!"
  89. echo "$$" > "${MYLCK}"
  90.  
  91. # get list of databases
  92. mydbs=""
  93. if [ "x$DBS" == "x" ] ; then
  94. mydbs=`${MYPRG} "SHOW DATABASES"`
  95. [ -z "${mydbs}" ] && die "${MYNAM}: unable to get list of databases."
  96. else
  97. S=0
  98. E=${#DBS[@]}
  99. while [ ${S} -lt ${E} ]
  100. do
  101. mydb=`${MYPRG} "SHOW DATABASES like \"${DBS[${S}]}\""`
  102. if [ -z "${mydb}" ] ; then
  103. DBS[${S}]=""
  104. else
  105. mydbs=${mydbs}" "${mydb}
  106. fi
  107. S=`expr ${S} + 1`
  108. done
  109. fi
  110.  
  111. # process databases
  112. for db in ${mydbs}; do
  113.  
  114. # skip special database(s)
  115. [ "$db" == "information_schema" ] && continue
  116. [ "$db" == "test" ] && continue
  117. [ "$db" == "car_source" ] && continue
  118.  
  119. # verbose?
  120. [ "$V" == "-q" ] || echo "Processing database ${db}..."
  121. [ "$V" == "-q" ] || echo
  122.  
  123. # make dir
  124. mkdir -p "${MYBAK}/${db}"
  125.  
  126. ${MYDMP} "${db}" 2>"${MYBAK}/${db}/${db}${DT}.log" | gzip > "${MYBAK}/${db}/${db}${DT}.sql.gz"
  127.  
  128. # get list of tables
  129. mytbs=`${MYPRG} "SHOW TABLES FROM \\\`${db}\\\`"`
  130. [ -z "${mytbs}" ] && message "${MYNAM}: unable to get list of tables for ${db}."
  131.  
  132. # process tables
  133. for tb in ${mytbs}; do
  134. # MYTIME=`date +%Y%m%d%H%M`
  135. [ "$V" == "-q" ] || echo "Processing ${db}.${tb}..."
  136.  
  137. [ "$V" == "-q" ] || echo "- Dumping..."
  138. ${MYDMP} "${db}" "${tb}" 2>"${MYBAK}/${db}/${db}.${tb}${DT}.log" | gzip > "${MYBAK}/${db}/${db}.${tb}${DT}.sql.gz"
  139.  
  140. [ "$V" == "-q" ] || echo "- Checking..."
  141. ${MYPRG} "CHECK TABLE \`${db}\`.\`${tb}\`" | egrep "[^:alnum:\._-]error[^:alnum:\._-]" |
  142. grep -v "doesn't support check"
  143.  
  144. [ "$V" == "-q" ] || echo "- Analyzing..."
  145. ${MYPRG} "ANALYZE LOCAL TABLE \`${db}\`.\`${tb}\`" > /dev/null
  146.  
  147. [ "$V" == "-q" ] || echo "- Optimizing..."
  148. ${MYPRG} "OPTIMIZE LOCAL TABLE \`${db}\`.\`${tb}\`" > /dev/null
  149.  
  150. [ "$V" == "-q" ] || echo
  151. done
  152.  
  153. # verbose?
  154. [ "$V" == "-q" ] || echo
  155.  
  156. done
  157.  
  158. # cleanup
  159. touch -t `/bin/date --date "3 days ago" "+%Y%m%d%H%M"` /dev/shm/${MYNAM}.start
  160. find /home/backup/mysql/ ! -newer /dev/shm/${MYNAM}.start -type f -exec rm {} \;
  161. find /home/backup/mysql/ -type d -empty -print0 | xargs -0 -n 100 rm -rf &> /dev/null
  1. 还原数据库时,到备份目录找到最新的备份。dataname.sql.gz 结尾
  1. zcat dataname.sql.gz|mysql -uroot -p123456 dataname

  

mysql 遍历所有的库并根据表和sql语句备份的更多相关文章

  1. mysql从一个表中拷贝数据到另一个表中sql语句

    这一段在找新的工作,今天面试时,要做一套题,其中遇到这么一句话,从一个表中拷贝所有的数据到另一个表中的sql是什么? 原来我很少用到,也没注意过这个问题,面试后我上网查查,回来自己亲手写了写,测试了下 ...

  2. MySQL创建民族表的SQL语句

    MySQL创建民族表的SQL语句 CREATE TABLE `nation` ( `id` ) unsigned NOT NULL AUTO_INCREMENT, `nation` ) NOT NUL ...

  3. MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?

    项目中,评论数,关注数等数据,是实时更新的.+1,-1 这种. 有的时候,可能统计不准确. 需要写一个统计工具,更新校准下. 用Java写SQL和函数,代码很清晰,方便扩展,但是太慢了. 为了简单起见 ...

  4. MySQL数据库-表操作-SQL语句(一)

    1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...

  5. phpmyadmin查看创建表的SQL语句

    本人菜鸟 发现创建表的SQL语句还不会 直接phpmyadmin解决的 查看见表的语句除了直接到处SQL格式文件 打开查看外 就是执行语句查询 语句:show create table 表名  貌似大 ...

  6. 创建数据库和表的SQL语句

    创建数据库的SQL语句: 1 create database stuDB 2 on primary -- 默认就属于primary文件组,可省略 3 ( 4 /*--数据文件的具体描述--*/ 5 n ...

  7. 创建数据库和表的SQL语句【转】

    创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...

  8. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  9. (转载)根据数据字典表定义的表结构,生成创建表的SQL语句

    <来源网址:http://www.delphifans.com/infoview/Article_221.html>根据数据字典表定义的表结构,生成创建表的SQL语句 //1.  类名:T ...

随机推荐

  1. Python中第三方模块requests解析

    一.简述 Requests HTTP Library 二.模块框架 ''' __version__ _internal_utils adapters api auth certs compat coo ...

  2. 接口压测初识java GC

    1.先用Spring Boot 搭建 web 服务,构建api 服务 @RequestMapping("/index") @ResponseBody public String i ...

  3. Escape HDU - 3605(归类建边)

    Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  4. Configure an PPTP Server on Debian

    安装PPTP apt-get update apt-get upgrade apt-get install iptables pptpd vim 设置并修改配置文件vim /etc/pptpd.con ...

  5. Linux内核进程

    公司数据库机器报警进程数高于1500,登进去ps命令看了一下,这么多进程并不认识,就在网上找了一些关于linux进程的资料,如下: idle 进程的pid=0,是由系统自动创建的第一个进程,也是唯一的 ...

  6. 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题

    原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和clas ...

  7. codeforces #541 F Asya And Kittens(并查集+输出路径)

    F. Asya And Kittens Asya loves animals very much. Recently, she purchased nn kittens, enumerated the ...

  8. [SDOI2011]计算器(BSGS)

    洛古题面 对于操作一,用快速幂算即可 代码如下 int quickpow(int a,int b,int k) { int r=1; while(b) { if(b&1) r=(r*a)%k; ...

  9. 工作笔记:/bin/bash^M: 坏的解释器: 没有那个文件或目录 问题解决

    问题原因: 由于windows上换行符为CR LF而在Linux下是 LF 导致出现上述问题 解决方案 1. 在windows下 可以使用nodepad打开该shell文件,然后将shell文件中的格 ...

  10. docker镜像操作

    1.获取镜像 docker pull NAME[:TAG] 如果不显式地指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像.//获取最新镜像docker pull ubuntu // ...