加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql5.7数据库更名

发布时间:2022-03-25 21:11:35 所属栏目:MySql教程 来源:互联网
导读:数据库版本是5.7.17 今天接到需求说需要把数据库的名字从A改为B,查了下A数据库下有不到200张表,也不是很大,要是用导入导出也可以,就是还是会慢,时间宝贵啊,用的时间越少越好。 有个rename table命令,写个脚本主要用它来实现需求 #!/bin/bash #先判断新
      数据库版本是5.7.17
 
     今天接到需求说需要把数据库的名字从A改为B,查了下A数据库下有不到200张表,也不是很大,要是用导入导出也可以,就是还是会慢,时间宝贵啊,用的时间越少越好。
 
     有个rename table命令,写个脚本主要用它来实现需求
  
#!/bin/bash
#先判断新数据库是否存在,要是不存在就创建。
#列出老数据库下都有那些表,其中N和s参数起到的作用是格式化,有点类似于Oracle下sqlplus里的pagesize
#用for循环来rename。
 
mysql -uroot -pxxxxDB2017# -e 'create database if not exists cus_0042'
list_table=$(mysql -uroot -pxxxxDB2017# -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_databases'")
 
for table in $list_table
do
    mysql -uroot -pxxxxDB2017# -e "rename table old_databases.$table to cus_0042.$table"
done
 
     执行成功后,old_databases下就空了,可是删除了。
 
     假如是myisam的存储引擎,直接在数据目录下mv就行。

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善