比如資料庫名稱old_db
想改名為new_db
當資料庫體積比較小時,最快的方法是使用mysqldump
命令來建立整個資料庫的轉存副本,然後新建資料庫,再把副本匯入到新資料庫中。
1.1 先建立新庫:
create database new_db;
1.2 使用mysqldump
匯出資料:mysqldump -uroot -p123456 --set-gtid-purged=off old_db > /tmp/old_db.sql
僅是做普通的本機備份恢復時,可以新增
--set-gtid-purged=off
作用是在備份時候不出現gtid資訊
1.3 匯入資料到新庫:mysql -uroot -p123456 new_db < /tmp/old_db.sql
使用此方法實際上將所有表從乙個資料庫移動到另乙個資料庫,這實際上重新命名了該資料庫(mysql沒有單個語句的操作),移動後原始資料庫繼續存在,但是裡面沒有表。
rename table
:
2.1 先建立新庫:
create database new_db;
2.2 使用rename table
命令修改表名,將表移動到新的庫里:rename table old_db.tb to new_db.tb;
2.3 完成後刪除舊庫:drop database old_db;
2.4 如何使用shell
指令碼來批量修改表名:#!/bin/bash
mysql -uroot -p123456 -e 'create database if not exists new_db;'
list_table=$(mysql -uroot -p123456 -nse "select table_name from information_schema.tables where table_schema='old_db'")
for table in $list_table
do mysql -uroot -p123456 -e "rename table old_db.$table to new_db.$table"
done
mysql
登陸命令列引數 如何修改MySQL資料庫名稱
如果是myisam的話.只要修改data目錄下面的那個庫名的資料夾的名字就ok了 如果是innodb的話.其實是無法修改庫名的.網上瞎咧咧的什麼rename database或者alter database都是不行的 一種方法是比較保守的.直接把老庫的內容mysqldump到新庫裡面 還有一種類似上...
如何修改MySQL資料庫名稱
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!如果是myisam的話.只要修改data目錄下面的那個庫名的資料夾的名字就ok了 如果是innodb的話.其實是無法修改庫名的.網上瞎咧咧的什麼rename database或者alter database都是不行的 一種方法是比較保守的.直接把老...
如何修改MySQL資料庫名稱
如果是myisam的話.只要修改data目錄下面的那個庫名的資料夾的名字就ok了 如果是innodb的話.其實是無法修改庫名的.網上瞎咧咧的什麼rename database或者alter database都是不行的 一種方法是比較保守的.直接把老庫的內容mysqldump到新庫裡面 還有一種類似上...