温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql5.7数据库改名

发布时间:2020-08-13 22:35:24 来源:ITPUB博客 阅读:417 作者:dbasdk 栏目:MySQL数据库

数据库版本是5.7.17

今天接到需求说需要把数据库的名字从A改为B,查了下A数据库下有不到200张表,也不是很大,要是用导入导出也可以,就是还是会慢,时间宝贵啊,用的时间越少越好。

有个rename table命令,写个脚本主要用它来实现需求


  1. #!/bin/bash
  2. #先判断新数据库是否存在,要是不存在就创建。
  3. #列出老数据库下都有那些表,其中N和s参数起到的作用是格式化,有点类似于Oracle下sqlplus里的pagesize
  4. #用for循环来rename。

  5. mysql -uroot -pxxxxDB2017# -e 'create database if not exists cus_0042'
  6. list_table=$(mysql -uroot -pxxxxDB2017# -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_databases'")

  7. for table in $list_table
  8. do
  9.     mysql -uroot -pxxxxDB2017# -e "rename table old_databases.$table to cus_0042.$table"
  10. done

执行成功后,old_databases下就空了,可是删除了。

假如是myisam的存储引擎,直接在数据目录下mv就行。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI