要做程式的搬移,臨時想要在 Docker 裡面裝個 MariaDB (MySQL) 來使用,沒想到光要看到 error 都要花點功夫~
標籤: mysql
MySQL Workbench 於 Linux 的安裝與簡易操作
於 Ubuntu Linux 使用 GUI 來畫、看資料庫的 ERD,MySQL 有自己出 Workbench 可以使用~
MySQL CLI Table name 使用變數取代
MySQL Client 裡面,想要執行 SQL 語法,或者使用變數來做某些取代,要怎麼做呢?
MySQL 強制重新設定 root 密碼
MySQL 的 root 密碼忘了,要怎麼強制重新設定呢?
MySQL Percona innobackupex 備份帳號需要的權限
MySQL 要備份資料庫,可以使用 Percona 的 Tookit 的 innobackupex (xtrabackup) 來備份。
要為 innobackupex 建立一個備份專用的使用者,需要哪些權限呢?
MySQL Percona innobackupex 和 XtraBackup 有何不同?
MySQL Percona innobackupex 和 XtraBackup 都是拿來做備份,兩個有什麼不一樣呢?
MySQL 建立 View 的語法 與 簡易應用
View 可以縮短 SQL 撰寫的長度,只是做個類似轉換的動作,後面該做的還是跑不掉的。
不過若有新舊版程式,例如要將這個 Table Name 加上「年月」,但是原始 Table 暫時還要可以讀取,就可以靠 View 來達成。
MySQL Table RENAME、重建作法
MySQL 刪除資料後,空間並不會釋放出來,可以使用 OPTIMIZE TABLE 來釋放空間,OPTIMIZE 等同於 TABLE Copy & RENAME,所以會有大量 IO。
我是採用兩種方式來做,依照資料量大小來做選擇。(一樣會有大量IO,但是可以自己掌握,缺點是執行時會有短暫的時間可能漏資料)
不過資料量過大的,還是建議另外處理,這種作法是非常不得已的。
MySQL mysqldump 跳過某些 Table
MySQL 使用 mysqldump 可以備份所有 Database、指定 Database 等等。
但是 Database 裡面,某個 Table 太大不想 Dump,要跳過可以怎麼做呢?
MySQL 輸出 FLOAT、CHAR 強制轉換成 INT 或其它型態
MySQL rand() 預設是浮點數(float / double),但是想要取整數的話,可以怎麼做呢?
- mysql> SELECT rand(); // 0.519057333021478