簡體   English   中英

是每個mysql用戶的mysql並發連接限制還是每個localhost的限制

[英]Is mysql concurrent connection limit per mysql user or limit per localhost

我是新來的,但從該站點獲得了收益日志。 我正計划在大型php / mysql網站上,但對mysql並發連接限制感到困惑。 是每個mysql數據庫限制還是每個localhost / cpanel帳戶限制? 如果限制每個mysql數據庫。 因此,如果我為每個最終用戶有一個專用的mysql數據庫,那么每1000個最終用戶有1000個數據庫,但是我只有1個mysql-user授予對所有1000個數據庫的訪問權限。 可以嗎 如果限制每個mysql用戶。 在這種情況下,池連接是否可以解決?

有系統變量可以控制兩者。 手冊所述

  • max_connections

    \n + ---------------------- + ----------------------- +\n |  命令行格式 |  --max_connections =#|\n + ---------------------- + ----------------------- +\n |  選項文件格式 |  max_connections |\n + ---------------------- + ----------------------- +\n |  選項集變量 |  是的, max_connections |\n + ---------------------- + ----------------------- +\n |  變量名 |  max_connections |\n + ---------------------- + ----------------------- +\n |  可變范圍 |  全球|\n + ---------------------- + ----------------------- +\n |  動態變量 |  是的\n + ---------------------- + ----------------------- +\n |  |  允許值 |\n + + --------- + ------------- +\n |  |  類型  數字|\n + + --------- + ------------- +\n |  |  默認值 |  151 |\n + + --------- + ------------- +\n |  |  范圍 |  1 .. 100000 |\n + ---------------------- + ----------------------- +\n

    允許的最大同時客戶端連接數。 默認情況下,為151。有關更多信息,請參見第C.5.2.7節“ Too many connections

    增大該值將增加mysqld所需的文件描述符的數量。 有關文件描述符限制的注釋,請參見第8.4.3.1節“ MySQL如何打開和關閉表”

  • max_user_connections

    \n + ---------------------- + -------------------------- -+\n |  命令行格式 |  --max_user_connections =#|\n + ---------------------- + -------------------------- -+\n |  選項文件格式 |  max_user_connections |\n + ---------------------- + -------------------------- -+\n |  選項集變量 |  是的, max_user_connections |\n + ---------------------- + -------------------------- -+\n |  變量名 |  max_user_connections |\n + ---------------------- + -------------------------- -+\n |  可變范圍 |  全球會議\n + ---------------------- + -------------------------- -+\n |  動態變量 |  是的\n + ---------------------- + -------------------------- -+\n |  |  允許值 |\n + + --------- + ----------------- +\n |  |  類型  數字|\n + + --------- + ----------------- +\n |  |  默認值 |  0 |\n + + --------- + ----------------- +\n |  |  范圍 |  0 .. 4294967295 |\n + ---------------------- + -------------------------- -+\n

    任何給定的MySQL用戶帳戶允許的最大同時連接數。 值0(默認值)表示“無限制”。

    此變量具有可以在服務器啟動或運行時設置的全局值。 它還具有一個只讀會話值,該值指示適用於與當前會話關聯的帳戶的有效同時連接限制。 會話值初始化如下:

    如果用戶帳戶的MAX_USER_CONNECTIONS資源限制為非零值,則會話max_user_connections值將設置為該限制。

    否則,會話max_user_connections值將設置為全局值。

    帳戶資源限制是使用GRANT語句指定的。 請參見第6.3.4節“設置帳戶資源限制”第13.7.1.3節“ GRANT語法”

太瘋狂了。 每個用戶不能有1個數據庫。 那太過分了。 (如果您不是托管服務提供商)

無論如何,MySQL建議不要超過每台計算機4096個並發請求。 我相信,如果您將有4096個並發請求,您將遇到數據庫以外的許多其他問題。

參考: MySQL最佳實踐

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM