#!/bin/bash

#mysql数据库改名,官方没有直接修改数据库名称的命令
#只有通过修改表名方式实现

source /etc/profile        #加载系统环境变量
source ~/.bash_profile    #加载用户环境变量
set -o nounset             #引用未初始化变量时退出

#需要修改的数据库名
olddb="wuhan"
#修改后的数据库名
newdb="shanghai"
#mysql服务器ip或者主机名
ipaddr="172.16.0.8"
#用户名
user="root"
#密码
passwd="123456"

mysqlconn="mysql -h${ipaddr} -u${user} -p${passwd}"

#创建新数据库
$mysqlconn -e "drop database if exists ${newdb};create database ${newdb};"

#获取所有表名
tables=$($mysqlconn -N -e "select table_name from information_schema.tables where table_schema='${olddb}'")

#修改表名
for name in $tables;do
    $mysqlconn -e "rename table ${olddb}.${name} to ${newdb}.${name}"
done

#删除老的空库
$mysqlconn -e "drop database ${olddb}"
echo "==================================="
echo "${olddb}已成功改为${newdb}"
echo "请手动给业务账号授权"
echo "==================================="

发表评论

您的电子邮箱地址不会被公开。

Captcha Code