溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql5.7數(shù)據(jù)庫改名

發(fā)布時間:2020-08-13 22:35:24 來源:ITPUB博客 閱讀:413 作者:dbasdk 欄目:MySQL數(shù)據(jù)庫

數(shù)據(jù)庫版本是5.7.17

今天接到需求說需要把數(shù)據(jù)庫的名字從A改為B,查了下A數(shù)據(jù)庫下有不到200張表,也不是很大,要是用導(dǎo)入導(dǎo)出也可以,就是還是會慢,時間寶貴啊,用的時間越少越好。

有個rename table命令,寫個腳本主要用它來實現(xiàn)需求


  1. #!/bin/bash
  2. #先判斷新數(shù)據(jù)庫是否存在,要是不存在就創(chuàng)建。
  3. #列出老數(shù)據(jù)庫下都有那些表,其中N和s參數(shù)起到的作用是格式化,有點類似于Oracle下sqlplus里的pagesize
  4. #用for循環(huán)來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

執(zhí)行成功后,old_databases下就空了,可是刪除了。

假如是myisam的存儲引擎,直接在數(shù)據(jù)目錄下mv就行。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI