方法:1、利用“set GLOBAL|SESSION 需要設(shè)置的variables”語句修改;2、利用“set @用戶variables”或者“set @@系統(tǒng)variables”語句修改。variables指的就是影響數(shù)據(jù)資源的參數(shù)變量。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql中variables怎么修改
MySQL Variables
MySQL Variables在這里實際上指的是一些參數(shù),用于初始化或設(shè)定數(shù)據(jù)庫對系統(tǒng)資源的占用,文件存放位置等。在新安裝好系統(tǒng)后,就已經(jīng)被初始化好了。但是我們有時候不想采取默認(rèn)值,所以就需要對這些值做出改變。
MySQL的變量分為兩種:
-
系統(tǒng)變量: 配置MySQL服務(wù)器的運行環(huán)境,可以用show variables查看
按其作用域的不同可以分為以下兩種:
-
分為全局(GLOBAL)級:對整個MySQL服務(wù)器有效
-
會話(SESSION或LOCAL)級:只影響當(dāng)前會話
有些變量同時擁有以上兩個級別,MySQL將在建立連接時用全局級變量初始化會話級變量,但一旦連接建立之后,全局級變量的改變不會影響到會話級變量。
-
-
狀態(tài)變量: 監(jiān)控MySQL服務(wù)器的運行狀態(tài),可以用show status查看,不可以被修改。
修改系統(tǒng)變量的值
1、修改變量值的語法:
set [GLOBAL | SESSION] 需要設(shè)置的變量
mysql> set global log_queries_not_using_indexes=ON; Query OK, 0 rows affected (0.00 sec)
2、還有另外的一種寫法:@@
mysql> set @@global.log_queries_not_using_indexes=ON; Query OK, 0 rows affected (0.00 sec)
@: 代表是用戶變量
@@:代表系統(tǒng)變量
查看系統(tǒng)變量的值(show)
查看方法一: 系統(tǒng)變量存放在performance_schema
數(shù)據(jù)庫里的GLOBAL_VARIABLES
和SESSION_VARIABLES
表中,可以直接通過查看表的內(nèi)容獲得。
mysql> use performance_schema Database changed mysql> show tables like '%variables'; +-------------------------------------------+ | Tables_in_performance_schema (%variables) | +-------------------------------------------+ | global_variables | | persisted_variables | | session_variables | +-------------------------------------------+ 3 rows in set (0.00 sec)
查看方法二: 使用show variables語法
SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]
-
精準(zhǔn)查詢:
mysql> show variables like 'slow_query_log'; +----------------+-------+ | Variable_name | Value | +----------------+-------+ | slow_query_log | ON | +----------------+-------+ 1 row in set, 1 warning (0.00 sec)
-
通配符查詢(%)
mysql> show variables like '%log'; +----------------------------------+---------------------------+ | Variable_name | Value | +----------------------------------+---------------------------+ | back_log | 80 | | general_log | OFF | | innodb_api_enable_binlog | OFF | | log_statements_unsafe_for_binlog | ON | | relay_log | DESKTOP-Q8KGU39-relay-bin | | slow_query_log | ON | | sync_binlog | 1 | | sync_relay_log | 10000 | +----------------------------------+---------------------------+ 8 rows in set, 1 warning (0.00 sec)
-
單個字符匹配查詢( _ )
mysql> show variables like 'log_b__'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | +---------------+-------+ 1 row in set, 1 warning (0.01 sec)
-
where 語句查詢(語法參看sql where 語句)
mysql> show variables where variable_name = 'version'; +---------------+--------+ | Variable_name | Value | +---------------+--------+ | version | 8.0.13 | +---------------+--------+ 1 row in set, 1 warning (0.00 sec) mysql> show variables where value like '8.%'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | innodb_version | 8.0.13 | | version | 8.0.13 | +----------------+--------+ 2 rows in set, 1 warning (0.00 sec)
推薦學(xué)習(xí):mysql視頻教程