mysql 修改数据库的数据库_如何更改MySQL数据库的数据库名
展開全部
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對數據庫改名,可能由于實現的功能不完備(比62616964757a686964616fe58685e5aeb931333433653931如,這條命令可能是一個超大的事務,或者是由于之前的表很多還是 MyISAM 等),后來的版本直接取消了這條命令。更改數據庫名大致上有以下幾種方案:
一、mysqldump 導入導出要說最簡單的方法,就是直接用 mysqldump 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那么順滑,不能一步到位。比如,要把數據庫 yttdb_old 改名為 yttdb_new,如果數據庫 yttdb_old 里只有磁盤表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁盤表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名后導進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了后,所有的 binlog 都有備份,并且二進制日志格式還是 statement 的話,那就可以簡單搭建一臺從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old->yttdb_new不過這種局限性很大,不具備標準化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這么幾種方法:如果數據量小,推薦第一種;
數據量大,則推薦第二種;
數據量巨大,那就非 MySQL 本身能解決的了。
可通過部署第三方 ETL 工具,通過解析 MySQL 二進制日志或其他的方式來把舊庫數據直接讀取到新庫達到改名的目的等等。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysql 修改数据库的数据库_如何更改MySQL数据库的数据库名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: navicat er图没有连线_迁徙图?
- 下一篇: matlab窗函数 响应,matlab窗