MySQL · 修改数据库名

背景

需求:将数据库 hrtrqu 修改 hrtrzq

方案:MySQL 没有 rename database 命令,只能变相修改表到目标库里的表来实现。

实践

1. 导出库数据

1
$ mysqldump  --single-transaction -S /data/mysql3308/mysql.sock -usre -p'xx' hrtrqu > hrtrqu.sql

2. 创建新库 hrtrzq

1
CREATE DATABASE IF NOT EXISTS hrtrzq default charset utf8 COLLATE utf8_general_ci;

3. 导入数据到新库

1
$ mysql -S /data/mysql3308/mysql.sock -usre -p'sre@@p$i' hrtrzq < hrtrqu.sql