天天看點

mysql修改資料庫名 - lzfj

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\'