MySQL最大連線數限制如何修改

WBOY
發布: 2023-06-01 18:40:15
轉載
8906 人瀏覽過

    一、前提條件

    修改資料庫是一種風險較高的行為,在進行修改之前,建議使用開發測試資料庫進行演示,並備份相關資料。以防資料庫誤操作,遺失資料等等 。

    修改MySQL的前提條件:

    1、有Linux使用者的管理員權限帳號,需要對MySQL安裝的設定問卷進行修改;

    2、 MySQL資料庫的管理帳號。

    3、如果有運維,與維運和開發負責人員商量修改,資料是大事,以防資料遺失,做好資料的備份。

    二、修改步驟

    1、使用root使用者登入和連接資料庫

    # mysql -uroot -p
    登入後複製

    輸入指令後,提示輸入root使用者密碼,輸入密碼後,成功登入資料庫。

    MySQL最大連線數限制如何修改

    登入MySQL資料庫

    2、查看目前資料庫的最大連線數

    mysql> show variables like 'max_connections';
    登入後複製

     如下圖,MySQL的最大連線數才151 ,稍微多開幾個微服務,基本上都會報資料庫連線數過多的異常。

    MySQL最大連線數限制如何修改

    查看資料庫的最大連線數

    3、修改MySQL設定檔

    找到MySQL的設定檔並且修改: /etc/mysql/mysql.conf.d/mysqld.cnf

    # view /etc/mysql/mysql.conf.d/mysqld.cnf
    登入後複製

    修改設定檔中的最大連線數,max_connections = 2000,修改完儲存設定退出編輯狀態。

    [mysql]
    max_connections = 2000
    登入後複製

    MySQL最大連線數限制如何修改

    修改設定檔中的最大連線數

    #4、檢視系統limit限制

    使用指令查詢系統的檔案限制

    # 查询文件限制
    $ ulimit -n
    1024
    登入後複製

    如果查看的系統檔案限制是65535,表示系統已經修改過了,不需要再修改。

    5、修改系統檔案限制

    5.1、在/etc/security/limits.conf最後增加如下兩行記錄,編輯完儲存配置

    # 编辑系统文件配置文件
    $ view /etc/security/limits.conf
     
    # 在/etc/security/limits.conf最后增加如下两行记录
    * hard nofile 65535
    * soft nofile 65535
    登入後複製

    MySQL最大連線數限制如何修改

    最後增加如下兩行記錄

    5.2、編輯/etc/pam. d/common-session,加入一行 session required pam_limits.so

    # 编辑/etc/pam.d/common-session,
    # 加入一行 session required pam_limits.so
     
    $ view /etc/pam.d/common-session
    登入後複製

    MySQL最大連線數限制如何修改

    編輯設定檔

    # 5.3、編輯/etc/profile#,加入ulimit -SHn 65535,

    MySQL最大連線數限制如何修改

    #執行scource

    指令使組態生效,再次檢視系統檔案限制

    # 编辑/etc/profile,加入ulimit -SHn 65535
    # 编辑完保存
    $ view /etc/profile
     
    # 执行scource 命令使配置生效,确认修改是否成功
    $ source /etc/profile
     
    # 再次查看系统limit限制,看配置文件是否生效
    $ ulimit -n
    65535
    登入後複製

    ##系統設定檔已修改成功

    6、修改mysql設定

    查找

    mysql.serviceMySQL最大連線數限制如何修改# 啟動檔案

    $ systemctl status mysql.service
    ● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2018-12-19 23:53:28 CST; 16min ago
     Process: 25857 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
    Process: 25843 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
     Main PID: 25856 (mysqld)
      Tasks: 28 (limit: 4915)
     Memory: 185.9M
        CPU: 1.577s
     CGroup: /system.slice/mysql.service
             └─25856 /usr/sbin/mysqld
    登入後複製

    進入目錄

     /etc/systemd/system/ multi-user.target.wants

    ,找到檔案

    mysql.service

    ;

    sudo vim mysql.service

    ,在[Service] 最後加入:MySQL最大連線數限制如何修改

    LimitNOFILE=65535
    LimitNPROC=65535
    登入後複製

    #########修改mysql的啟動設定檔######7、執行下方指令使修改生效######生效剛才修改的設定文件,重新啟動MySQL服務。 ###
    $ systemctl daemon-reload
    $ systemctl restart mysql.service
    登入後複製
    ###8、登入mysql,使用 show variables like "%max_connections%"; 查看最大連線數,這時發現已改為2000。 ############

    以上是MySQL最大連線數限制如何修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板