濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 聊聊MySQL中的參數(shù)

聊聊MySQL中的參數(shù)

熱門標(biāo)簽:臨沂做地圖標(biāo)注 咸陽(yáng)防封電銷卡 廣東400企業(yè)電話申請(qǐng)流程 申請(qǐng)400電話電話價(jià)格 地圖標(biāo)注客戶付款 宜賓全自動(dòng)外呼系統(tǒng)廠家 新鄉(xiāng)智能外呼系統(tǒng)好處 石家莊400電話辦理公司 許昌外呼增值業(yè)務(wù)線路

前言:

在前面一些文章中,經(jīng)常能看到介紹某某參數(shù)的作用,可能有些小伙伴仍搞不清楚 MySQL 參數(shù)是啥。本篇文章我們來聊聊 MySQL 參數(shù),學(xué)習(xí)下如何管理維護(hù) MySQL 參數(shù)。

1.MySQL參數(shù)概念

我們所說的參數(shù)在官方文檔中稱為 系統(tǒng)變量(system variable),不同的變量有著不同的作用。MySQL 服務(wù)端維護(hù)了許多表示其配置的系統(tǒng)變量,所有變量均有默認(rèn)值。一般可以在啟動(dòng)命令行中或配置文件中對(duì)它們進(jìn)行設(shè)置。

系統(tǒng)變量分為全局系統(tǒng)變量(global)和會(huì)話系統(tǒng)變量(session)。有些變量既有全局變量又有會(huì)話變量,有些變量只有全局變量。全局變量影響服務(wù)器的全局操作,會(huì)話變量只影響具體客戶端連接相關(guān)操作。若會(huì)話變量未單獨(dú)設(shè)置,則繼承自相應(yīng)全局變量。

MySQL 服務(wù)啟動(dòng)時(shí),會(huì)按照配置文件或命令行中指定的選項(xiàng)來給全局變量賦值,沒有指定則按默認(rèn)值處理。服務(wù)啟動(dòng)后,通過連接服務(wù)器并執(zhí)行 SET GLOBAL var_name 語(yǔ)句可以動(dòng)態(tài)更改部分全局變量的值。要想更改全局變量,必須具有 SUPER 權(quán)限。MySQL 還為每個(gè)客戶端連接維護(hù)會(huì)話變量,連接時(shí)使用相應(yīng)全局變量的當(dāng)前值對(duì)客戶端會(huì)話變量進(jìn)行初始化??蛻舳丝梢酝ㄟ^ SET SESSION var_name 語(yǔ)句來動(dòng)態(tài)更改會(huì)話變量。設(shè)置會(huì)話變量不需要特殊權(quán)限,但會(huì)話變量只作用于當(dāng)前連接。

2.參數(shù)查詢與變更示例

這里也要說明下,并不是所有的參數(shù)都可以動(dòng)態(tài)修改,某些參數(shù)只能寫入配置文件然后重啟數(shù)據(jù)庫(kù)才能生效。下面我們來展示下 MySQL 參數(shù)的查詢與修改。

# 參數(shù)查詢
show global variables like 'var_name'; //查看全局系統(tǒng)變量的值,可使用%通配符
show session variables like 'var_name'; //查看會(huì)話系統(tǒng)變量的值
show  variables like 'var_name'; //優(yōu)先返回會(huì)話系統(tǒng)變量,若會(huì)話系統(tǒng)變量不存在,則返回全局系統(tǒng)變量。

# 也可用select查詢某個(gè)特定參數(shù)
select @@global.var_name; //全局系統(tǒng)變量
select @@session.var_name; //會(huì)話系統(tǒng)變量
select @@var_name; //優(yōu)先會(huì)話系統(tǒng)變量

# 查詢示例
mysql> show global variables like 'server_id';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| server_id | 1003306 |
+---------------+---------+
1 row in set (0.00 sec)

mysql> show global variables like 'log_bin%';
+---------------------------------+-------------------------------+
| Variable_name   | Value    |
+---------------------------------+-------------------------------+
| log_bin    | ON    |
| log_bin_basename  | /data/mysql/logs/binlog |
| log_bin_index   | /data/mysql/logs/binlog.index |
| log_bin_trust_function_creators | ON    |
| log_bin_use_v1_row_events | OFF    |
+---------------------------------+-------------------------------+
5 rows in set (0.00 sec)

mysql> select @@server_id;
+-------------+
| @@server_id |
+-------------+
| 1003306 |
+-------------+
1 row in set (0.00 sec)

# 動(dòng)態(tài)修改參數(shù)
set global var_name = value;
set session var_name = value;
set var_name = value;

set @@global.var_name = value;
set @@session.var_name = value;
set @@var_name = value;

# 參數(shù)修改示例
mysql> set global sort_buffer_size = 2097152;
Query OK, 0 rows affected (0.00 sec)

mysql> set session sort_buffer_size = 4194304;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@global.sort_buffer_size,@@session.sort_buffer_size;
+---------------------------+----------------------------+
| @@global.sort_buffer_size | @@session.sort_buffer_size |
+---------------------------+----------------------------+
|   2097152 |   4194304 |
+---------------------------+----------------------------+
1 row in set (0.00 sec)

參數(shù)動(dòng)態(tài)修改后,建議將其寫入配置文件。因?yàn)閯?dòng)態(tài)修改的參數(shù)在 MySQL 服務(wù)重啟后會(huì)失效,只有寫入配置文件才能夠重啟后仍有效。對(duì)于一些無法動(dòng)態(tài)修改的參數(shù),我們只能通過修改配置文件,然后重啟來使之生效。這里所說的配置文件就是 my.cnf 文件了,Linux 系統(tǒng)一般在 /etc 目錄下;Windows 系統(tǒng)一般在 basedir 目錄下,名稱可命名為 my.ini 。大部分參數(shù)需要配置在 [mysqld] 下,一份簡(jiǎn)單的配置文件示例如下:

vi /etc/my.cnf
# 簡(jiǎn)單模板如下:
[mysqld]
user = mysql 
datadir = /data/mysql/data  
socket = /data/mysql/tmp/mysql.sock
pid-file = /data/mysql/tmp/mysqld.pid 
skip_name_resolve = 1
max_connections = 2000
lower_case_table_names = 1
log_timestamps=SYSTEM
max_allowed_packet = 32M
...

MySQL 參數(shù)一般由 DBA 或運(yùn)維來維護(hù),可能有些同學(xué)對(duì)這些參數(shù)還比較陌生。建議在數(shù)據(jù)庫(kù)初始化時(shí),根據(jù)服務(wù)器規(guī)格設(shè)置對(duì)應(yīng)的數(shù)據(jù)庫(kù)參數(shù)。對(duì)于不清楚作用的參數(shù),建議保持默認(rèn)值即可。關(guān)于更多參數(shù)相關(guān)的內(nèi)容,可以參考官方文檔:

https://dev.mysql.com/doc/refman/5.7/en/server-system-variable-reference.html

總結(jié):

本篇文章詳細(xì)講述了 MySQL 參數(shù)相關(guān)概念及查詢更改方法,希望各位小伙伴能學(xué)到相關(guān)知識(shí)。

以上就是MySQL中的參數(shù)是什么的詳細(xì)內(nèi)容,更多關(guān)于MySQL 參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python連接mysql方法及常用參數(shù)
  • MySQL8.0內(nèi)存相關(guān)參數(shù)總結(jié)
  • pyMySQL SQL語(yǔ)句傳參問題,單個(gè)參數(shù)或多個(gè)參數(shù)說明
  • python mysql中in參數(shù)化說明
  • Python MySQLdb 執(zhí)行sql語(yǔ)句時(shí)的參數(shù)傳遞方式
  • Python MySQL 日期時(shí)間格式化作為參數(shù)的操作
  • 在MySQL中自定義參數(shù)的使用詳解
  • 詳解MySql存儲(chǔ)過程參數(shù)的入門使用
  • Ubuntu中MySQL的參數(shù)文件my.cnf示例詳析
  • MYSQL配置參數(shù)優(yōu)化詳解
  • MySQL性能全面優(yōu)化方法參考,從CPU,文件系統(tǒng)選擇到mysql.cnf參數(shù)優(yōu)化
  • MySQL 5.6下table_open_cache參數(shù)優(yōu)化合理配置詳解

標(biāo)簽:合肥 貴州 鷹潭 北京 臺(tái)灣 鎮(zhèn)江 日照 阜新

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《聊聊MySQL中的參數(shù)》,本文關(guān)鍵詞  聊聊,MySQL,中的,參數(shù),聊聊,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《聊聊MySQL中的參數(shù)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于聊聊MySQL中的參數(shù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    和硕县| 会东县| 临桂县| 隆林| 汉沽区| 台北市| 镇巴县| 邻水| 洞头县| 城步| 资兴市| 和政县| 察隅县| 濉溪县| 铜川市| 淮南市| 福贡县| 胶州市| 怀集县| 新乐市| 婺源县| 岳阳市| 东城区| 满洲里市| 蒙山县| 九寨沟县| 大埔县| 炎陵县| 中方县| 辰溪县| 靖西县| 中山市| 赤壁市| 建昌县| 洛扎县| 博爱县| 郯城县| 玉溪市| 社旗县| 和林格尔县| 左云县|