MySQL個人手札-Database


設定檔位置
ubuntu 16 18
mariadb 10.1.37
/etc/mysql/mariadb.conf.d/50-server.cnf
mysql 8.0
/etc/mysql/conf.d/mysql.cnf

centos7
mysql
/etc/my.cnf


建立Database
( [ ] 中跨號代表可以有無 )
CREATE DATABASE [IF NOT EXISTS] db_name
[ [DEFAULT] CHARACTER SET [=] charset_name ]
[ [DEFAULT] COLLATE [=] collation_name ]

IF NOT EXISTS - 如果Database不存在,就建立新的Database
(如果沒有上面的指令,且Database已存在,mariaDB會報錯)

[DEFAULT] CHARACTER SET - Database裡面的Table預設會使用的字集,也就是文字的二進位編碼

[DEFAULT] COLLATE - 儲存的文字的排序方法
(末碼為 ci 帶表不分大小寫,AaBbCcDdEe)
(末碼為 cs 帶表區分大小寫,ABCDEabcde)
(末碼為 bin 處理的單位事二進位)

CHARACTER SET 建議用 utf8mb4,可以儲存emoji
COLLATE 建議用 utf8mb4_bin


範例:
CREATE DATABASE IF NOT EXISTS testDB
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_bin;


修改資料庫的CHARACTER和COLLATE
ALTER DATABASE db_name
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_bin;


顯示全部Database
SHOW DATABASES;





顯示DATABASE的CHARACTER和COLLATE
SHOW CREATE DATABASE db_name;


顯示預設的資料庫ENGINE
(現在都預設 INNODB)
SHOW VARIABLES LIKE 'storage_engine';


顯示全部支援的ENGINE
在support的地方會有 DEFAULT
(\G 表示已人比較容易看的懂的方式顯示)
SHOW ENGINES \G;


修改預設的ENGINE
暫時性,重開服務設定會恢復
SET storage_engine=INNODB;

永久,要生效需要重開服務
到設定檔修改以下設定
[mysqld]
default-storage-engine = innodb

留言

此網誌的熱門文章

WPA_supplicant的設定方式

DOS指令 -- SET和變數

Nginx server 和 location 優先順序