MySQL在5.1引入了一个rename database操作,但在MySQL5.1.23后又不支持这个命令。可以说是一个实验性的功能,没有在生产中支持过(mysql-5.1 release在mysql-5.1.30),那么生产中我们有时为了追求完美需要改一下库名。怎么操作呢?
这里提供一个变通的方法。
1. 创建出新库名:
?
123 | mysql> create database db_v2; mysql> create database db_v2; |
2.生成rename语句,从olddb里迁移,我这里olddb里sbtest;
?
123 | mysql> select concat( "rename table " ,table_schema, "." ,table_name, " to db_v2." ,table_name, ";" ) into outfile '/tmp/rename_to_db_v2.sql' from information_schema.tables where table_schema= 'sbtest' ; mysql> select concat( "rename table " ,table_schema, "." ,table_name, " to db_v2." ,table_name, ";" ) into outfile '/tmp/rename_to_db_v2.sql' from information_schema.tables where table_schema= 'sbtest' ; |
3.执行生成的sql
?
123 | mysql>source /tmp/rename_to_db_v2.sql mysql>source /tmp/rename_to_db_v2.sql |
就这么简单可以搞定了。
Good luck!
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦