標籤:ons 操作符 儲存 href mysq alt 定義變數 將不 斜杠
變數
在 MySQL 資料庫中,變數有兩種,分別為:系統變數和自訂變數。
根據變數的作用範圍,又分為:
- 會話層級變數:僅對當前用戶端當次串連有效;
- 全域層級變數:對所有用戶端的任一次串連都有效。
伺服器變數還可分為動態變數和非動態變數,動態變數可以在伺服器不重啟的情況下修改
注意:其中有些參數支援運行時修改,會立即生效;有些參數不支援,且只能通過修改設定檔,並重啟伺服器程式生效;有些參數範圍是全域的,且不可改變;有些可以為每個使用者提供單獨(會話)的設定
伺服器選項
# mysqld --help -verbose #擷取所有可以的選項
# mysqld --print-defaults #擷取預設設定
#mysqld_safe –-skip-name-resolve=1
:在啟動服務時加選項參數,禁止反解析IP,提高登入效率;同時也可以將skip_name_resolve=1
參數加入到my.cnf設定檔中
伺服器系統變數
查看所有全域變數
MariaDB [(none)]> SHOW GLOBAL VARIABLES;
查看當前所有會話變數
MariaDB [(none)]> SHOW VARIABLES;
修改全域變數:僅對修改後新建立的會話有效;對已經建立的會話無效
mysql> SET GLOBAL system_var_name=value; mysql> SET @@global.system_var_name=value;
修改會話變數
mysql> SET [SESSION] system_var_name=value; mysql> SET @@[session.]system_var_name=value;
伺服器狀態變數
查看狀態變數(唯讀):用於儲存mysqld運行中的統計資料的變數,不可更改
MariaDB [(none)]> SHOW GLOBAL STATUS; #全域狀態變數MariaDB [(none)]> SHOW STATUS; #工作階段狀態變數
參考官方文檔:
- https://dev.mysql.com/doc/refman/5.7/en/mysqld-option-tables.html
- https://mariadb.com/kb/en/library/full-list-of-mariadb-options-system-and-status-variables
SQL_MODE
?sql_mode既是選項有是變數,作用對其設定可以完成一些約束檢查的工作,可分別進行全域的設定或當前會話的設定。
MariaDB [(none)]> SHOW VARIABLES LIKE ‘sql_mode‘; #查看sql_mode變數,預設為空白
- NO_AUTO_CREATE_USER 禁止GRANT建立密碼為空白的使用者
- NO_AUTO_VALUE_ON_ZERO 在自增長的列中插入0或NULL將不會是下一個自增長值
- NO_BACKSLASH_ESCAPES 反斜線“”作為一般字元而非逸出字元
- PAD_CHAR_TO_FULL_LENGTH 啟用後,對於CHAR類型將不會截斷空洞資料
- PIPES_AS_CONCAT 將"||"視為串連操作符而非“或運算子”
- TRADITIONAL:包括STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,是一個參數的集合
MariaDB [(none)]> SET sql_mode=‘TRADITIONAL‘;
參考官方文檔:https://mariadb.com/kb/en/library/sql-mode
資料庫MySQL/mariadb知識點——資料庫變數