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
留言
發佈留言