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'
