mysql修改数据库名

1、创建新库
2、创建新库用户
3、备份旧库
4、修改表名
5、删除旧库
 
环境:mysql5.6已经有数据库dbbzpt,需要把它修改为dbedu。
 
1,2、使用root用户登录创建新库、创建新库用户(使用阿里云RDS读写用户权限)
mysql> create database dbedu;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `dbedu`.* TO \’edu\’@\’localhost\’ identified by \’edu\’;
Query OK, 0 rows affected (0.00 sec)
3、备份以防操作出错
time mysqldump –set-charset –default-character-set=utf8 –set-gtid-purged=OFF –skip-add-drop-table \
–add-drop-database –skip-add-locks –disable-keys –allow-keywords –compact \
–complete-insert –compress –single-transaction  \
–skip-no-autocommit –routines –events –triggers –quick \
-uroot -p123 -P3306 –databases dbbzpt \
–log-error=dbbzpt.err > dbbzpt.sql
4、修改表名
[root@iZ28o76f668Z ~]#mysql -uroot -p123  -e “select concat(\’rename table dbbzpt.\’,table_name,\’ to dbeducate.\’,table_name,\’;\’) from information_schema.TABLES where TABLE_SCHEMA=\’dbbzpt\’;” > rename_bzpt_name.sql
[root@iZ28o76f668Z ~]#mysql -uroot -p123  -e \’source rename_bzpt_name.sql \’
如果无法使用root用户,则需要备份出数据库,修改数据库备份.sql文件(修改数据库名以及删除创建函数DEFINER=`bzpt`@`%`部分)
再使用新建的用户执行脚本[root@iZ28o76f668Z ~]# mysql -uedu -pedu -e \’source dbbzpt.sql\’

版权声明:本文为lizhi221原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lizhi221/p/6814291.html