mysql修改数据库名

时间:2022-09-21 13:13:03
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.sql4、修改表名[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'