安全快速更改MySQL数据库名称

MySQL似乎没有更改数据库名称的语句(也许是我不知道),如果你有数据库服务器的管理权限,可以直接更改一下目录名即可,但如果没有权限,可以通过更改表名达到修改数据库名的目的。
下面是把centos数据库更改为centos_old。
1、新建数据库centos_old.

  1. mysql > create database centos_old;

2、使用select concat拼成所有rename table的语句。

  1. mysql -uroot -p -e "select concat('rename table centos.',table_name,' to centos_old.',table_name,';') from information_schema.TABLES where TABLE_SCHEMA='centos';" > rename_mysql_name.sql

打开rename_mysql_name.sql,把第一行删除。
rename_mysql_name.sql内容大概为:

  1. rename table centos.wp_commentmeta to centos_old.wp_commentmeta;
  2. rename table centos.wp_comments to centos_old.wp_comments;
  3. rename table centos.wp_forum_forums to centos_old.wp_forum_forums;
  4. rename table centos.wp_forum_groups to centos_old.wp_forum_groups;
  5. rename table centos.wp_forum_posts to centos_old.wp_forum_posts;
  6. rename table centos.wp_forum_threads to centos_old.wp_forum_threads;
  7. rename table centos.wp_forum_usergroup2user to centos_old.wp_forum_usergroup2user;
  8. rename table centos.wp_forum_usergroups to centos_old.wp_forum_usergroups;
  9. rename table centos.wp_links to centos_old.wp_links;
  10. rename table centos.wp_options to centos_old.wp_options;
  11. rename table centos.wp_postmeta to centos_old.wp_postmeta;
  12. rename table centos.wp_posts to centos_old.wp_posts;
  13. rename table centos.wp_term_relationships to centos_old.wp_term_relationships;
  14. rename table centos.wp_term_taxonomy to centos_old.wp_term_taxonomy;
  15. rename table centos.wp_terms to centos_old.wp_terms;
  16. rename table centos.wp_usermeta to centos_old.wp_usermeta;
  17. rename table centos.wp_users to centos_old.wp_users;

3、执行rename语句

  1. mysql -uroot -p < rename_mysql_name.sql

这样就完成了centos数据库名更改为centos_old的操作。

标签:MySQL 发布于:2019-11-22 06:39:40