最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 參數相關概念及查詢更改方法

 更新時間:2020年09月04日 14:39:32   作者:MySQL技術  
這篇文章主要介紹了MySQL 參數相關概念及查詢更改方法,幫助大家更好的理解和使用MySQL數據庫,感興趣的朋友可以了解下

前言:

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

1.MySQL參數概念

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

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

MySQL 服務啟動時,會按照配置文件或命令行中指定的選項來給全局變量賦值,沒有指定則按默認值處理。服務啟動后,通過連接服務器并執(zhí)行 SET GLOBAL var_name 語句可以動態(tài)更改部分全局變量的值。要想更改全局變量,必須具有 SUPER 權限。 MySQL 還為每個客戶端連接維護會話變量,連接時使用相應全局變量的當前值對客戶端會話變量進行初始化。客戶端可以通過 SET SESSION var_name 語句來動態(tài)更改會話變量。設置會話變量不需要特殊權限,但會話變量只作用于當前連接。

2.參數查詢與變更示例

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

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

# 也可用select查詢某個特定參數
select @@global.var_name; //全局系統(tǒng)變量
select @@session.var_name; //會話系統(tǒng)變量
select @@var_name; //優(yōu)先會話系統(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)

# 動態(tài)修改參數
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;

# 參數修改示例
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)

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

vi /etc/my.cnf
# 簡單模板如下:
[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 參數一般由 DBA 或運維來維護,可能有些同學對這些參數還比較陌生。建議在數據庫初始化時,根據服務器規(guī)格設置對應的數據庫參數。對于不清楚作用的參數,建議保持默認值即可。關于更多參數相關的內容,可以參考官方文檔:

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

總結:

本篇文章詳細講述了 MySQL 參數相關概念及查詢更改方法,希望各位小伙伴能學到相關知識。

以上就是MySQL 參數相關概念及查詢更改方法的詳細內容,更多關于MySQL 參數的資料請關注腳本之家其它相關文章!

相關文章

  • 解說mysql之binlog日志以及利用binlog日志恢復數據的方法

    解說mysql之binlog日志以及利用binlog日志恢復數據的方法

    下面小編就為大家?guī)硪黄庹fmysql之binlog日志以及利用binlog日志恢復數據的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL的執(zhí)行原理之 MySQL的查詢重寫規(guī)則詳解

    MySQL的執(zhí)行原理之 MySQL的查詢重寫規(guī)則詳解

    MySQL 性能調優(yōu)是一個復雜且多維度的過程,下面從數據庫設計、查詢優(yōu)化、配置參數調整、硬件優(yōu)化幾個方面為你介紹相關的調優(yōu)方法,本文給大家介紹MySQL的執(zhí)行原理之 MySQL的查詢重寫規(guī)則,感興趣的朋友一起看看吧
    2025-04-04
  • 詳解Mysql主從同步配置實戰(zhàn)

    詳解Mysql主從同步配置實戰(zhàn)

    這篇文章主要介紹了詳解Mysql主從同步實戰(zhàn),實例分析了Mysql主從同步的原理和實現,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03
  • MySQL存儲過程的創(chuàng)建和使用示例詳解

    MySQL存儲過程的創(chuàng)建和使用示例詳解

    文章介紹了MySQL存儲過程的概念、創(chuàng)建與刪除、調用、變量使用、參數、流程控制、管理和案例,存儲過程可以封裝SQL指令,提高執(zhí)行效率,但也有一定局限性,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • MySQL深度分頁(千萬級數據量如何快速分頁)

    MySQL深度分頁(千萬級數據量如何快速分頁)

    后端開發(fā)中經常需要分頁展示,個時候就需要用到MySQL的LIMIT關鍵字。LIMIT在數據量大的時候極可能造成的一個問題就是深度分頁。本文就介紹一下解決方法,感興趣的可以了解一下
    2021-07-07
  • MySQL rand函數實現隨機數的方法

    MySQL rand函數實現隨機數的方法

    在mysql中,使用隨機數寫一個語句能一下更新幾百條MYSQL數據嗎?答案是肯定的,使用MySQL rand函數,就可以使現在隨機數
    2016-09-09
  • MySQL如何用分隔符分隔字符串

    MySQL如何用分隔符分隔字符串

    這篇文章主要介紹了MySQL如何用分隔符分隔字符串,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL 觸發(fā)器的基礎操作(六)

    MySQL 觸發(fā)器的基礎操作(六)

    這篇文章主要為大家詳細介紹了MySQL 觸發(fā)器的基礎操作,告訴大家什么是MySQL觸發(fā)器,如何查看觸發(fā)器,感興趣的小伙伴們可以參考一下
    2016-08-08
  • MySQL性能設置

    MySQL性能設置

    網站訪問量越來越大,MySQL自然成為瓶頸,因此最近我一直在研究 MySQL 的優(yōu)化,第一步自然想到的是 MySQL 系統(tǒng)參數的優(yōu)化
    2006-12-12
  • mysql 8.0.25之取巧解決修改密碼報錯的問題

    mysql 8.0.25之取巧解決修改密碼報錯的問題

    這篇文章主要介紹了mysql8.0.25之取巧解決修改密碼報錯的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

旺苍县| 化州市| 平顶山市| 九江县| 两当县| 贵州省| 溧阳市| 米易县| 曲阳县| 威远县| 武平县| 蒙自县| 宽甸| 永济市| 怀宁县| 西平县| 孙吴县| 石棉县| 安阳县| 安阳市| 兴仁县| 五大连池市| 中牟县| 松溪县| 报价| 满洲里市| 五大连池市| 吴川市| 济南市| 河北区| 绥化市| 天津市| 富顺县| 象山县| 桃源县| 苏尼特右旗| 宜丰县| 满城县| 横山县| 裕民县| 香港|