1、系統最大打開文件描述符數
查看限制
ulimit -n
更改配置
# 第一步
sudo vim /etc/security/limits.conf* soft nofile 1048576
* hard nofile 1048576# 第二步
sudo vim /etc/sysctl.conffs.file-max = 1048576
# 第三步(重啟系統)
sudo reboot
驗證生效
ulimit -nsudo sysctl fs.file-max
2、MySQL 最大打開文件描述符數
編輯 MySQL 系統服務的配置文件,更改 LimitNOFILE 的參數值?
sudo vim /lib/systemd/system/mysql.serviceLimitNOFILE=1048576
重載系統服務的配置文件
sudo systemctl daemon-reload
重啟 MySQL 服務
sudo systemctl restart mysql
驗證生效,在輸出結果中查看 Max open files 的顯示值
sudo cat /proc/`pidof mysqld`/limits?
3、常見問題
無法遠程連接 MySQL
在默認情況下,MySQL 是不支持遠程連接的,可以按照以下步驟實現遠程連接。
第一步,配置 MySQL 支持遠程連接
通過 sudo netstat -anp|grep 3306 命令查看 MySQL 占用的端口,可以得到以下信息
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:3306 ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN ? ? ?658/mysqld
編輯 MySQL 的配置文件,將 bind-address 的配置內容注釋掉,然后重啟 MySQL 服務
# 編輯配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# bind-address = 127.0.0.1
# 重啟服務
sudo systemctl restart mysql
MySQL 服務重啟后,再次執行 sudo netstat -anp|grep 3306 命令,可以得到以下信息
tcp6 ? ? ? 0 ? ? ?0 :::3306 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?658/mysqld
第二步,創建新的用戶,并授權用戶遠程訪問特定的數據庫
CREATE USER 'clay'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON my_db.* TO 'clay'@'%';
FLUSH PRIVILEGES;
?
4、授權 Root 用戶遠程登錄
若希望授權 root 用戶遠程訪問所有數據庫(慎重考慮),可以執行以下 MySQL 命令。
值得一提的是,考慮到數據庫安全問題,不建議授予 root 遠程登錄的權限,這可以降低數據庫被攻擊的風險。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;FLUSH PRIVILEGES;
特別注意:按照上述步驟進行配置后,若 MySQL 依舊無法實現遠程訪問,那么請檢查系統的防火墻是否開放了?3306
?端口。
5、MySQL 配置文件的位置
MySQL 安裝完成后,各個配置文件的位置如下:
PID 文件: /var/run/mysqld/mysqld.pid
配置文件: /etc/mysql/mysql.conf.d/mysqld.cnf
數據目錄: /var/lib/mysql
日志文件: /var/log/mysql/error.log
服務啟動腳本: /lib/systemd/system/mysql.service
?