mysql数据库改名

  sre
#!/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 intables;do
    mysqlconn -e "rename table{olddb}.{name} to{newdb}.{name}"
done

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

LEAVE A COMMENT

Captcha Code