mysql 常用參數設置整理

Mysql 常用設置參數說明整理

 

創建數據庫

CREATE DATABASE IF NOT EXISTS godata_system default charset utf8 COLLATE utf8_general_ci;

 

查看最大連接數

show variables like '%max_connections%';

 

設置最大連接數

set global max_connections=1000;

 

mysql根據配置文件會限制server接受的數據包大小。

有時候大的插入和更新會受max_allowed_packet 參數限制,導致寫入或者更新失敗,導致項目訪問異常。

設置文件大小

set global max_allowed_packet = 2*1024*1024*10

 

查看

show variables like 'max_allowed_packet';

 

查看sql_mode

 

show variables like 'sql_mode';

 

sql_mode常用值

ONLY_FULL_GROUP_BY:

對於GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那麼這個SQL是不合法的,因爲列不在GROUP BY從句中

NO_AUTO_VALUE_ON_ZERO:

該值影響自增長列的插入。默認設置下,插入0或NULL代表生成下一個自增長值。如果用戶 希望插入的值爲0,而該列又是自增長的,那麼這個選項就有用了。

STRICT_TRANS_TABLES:

在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做限制

NO_ZERO_IN_DATE:

在嚴格模式下,不允許日期和月份爲零

NO_ZERO_DATE:

設置該值,mysql數據庫不允許插入零日期,插入零日期會拋出錯誤而不是警告。

ERROR_FOR_DIVISION_BY_ZERO:

在INSERT或UPDATE過程中,如果數據被零除,則產生錯誤而非警告。如 果未給出該模式,那麼數據被零除時MySQL返回NULL

NO_AUTO_CREATE_USER:

禁止GRANT創建密碼爲空的用戶

NO_ENGINE_SUBSTITUTION:

如果需要的存儲引擎被禁用或未編譯,那麼拋出錯誤。不設置此值時,用默認的存儲引擎替代,並拋出一個異常

PIPES_AS_CONCAT:

將"||"視爲字符串的連接操作符而非或運算符,這和Oracle數據庫是一樣的,也和字符串的拼接函數Concat相類似

ANSI_QUOTES:

啓用ANSI_QUOTES後,不能用雙引號來引用字符串,因爲它被解釋爲識別符

ORACLE的sql_mode設置等同:PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER.

 

查看文件導入配置

SHOW VARIABLES LIKE "secure_file_priv";

 

(1)NULL,表示禁止。

(2)如果value值有文件夾目錄,則表示只允許該目錄下文件(PS:測試子目錄也不行)。

(3)如果爲空,則表示不限制目錄。

 

查看mysql 字符集設置  mysql8 默認字符集爲 utf8mb4 不再是latin1。

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

 

如果修改配置文件加入

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

 

查看時區設置 mysql8默認是美國時區 需要在配置文件中加入配置

show variables like '%time_zone%';

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章