linux系统mysql性能优化

1、系统最大打开文件描述符数

查看限制

ulimit -n

更改配置

第一步

sudo vim /etc/security/limits.conf

* soft nofile 1048576

* hard nofile 1048576

第二步

sudo vim /etc/sysctl.conf

fs.file-max = 1048576

第三步(重启系统)

sudo reboot

验证生效

ulimit -n

sudo sysctl fs.file-max

2、MySQL 最大打开文件描述符数

编辑 MySQL 系统服务的配置文件,更改 LimitNOFILE 的参数值

复制代码
sudo vim /lib/systemd/system/mysql.service

LimitNOFILE=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

相关推荐
是阿建吖!5 分钟前
【Linux | 网络】网络层(IP协议、NAT技术和ICMP协议)
linux·网络·tcp/ip
特种加菲猫9 分钟前
从exec到Shell:深度解析Linux进程等待,程序替换与自主Shell实现
linux·笔记
禁默11 分钟前
进程生命周期管理:从创建到终止的完整逻辑
linux·运维·服务器
坐望云起1 小时前
Hyper-V + Centos stream 9 搭建K8s集群(二)
linux·kubernetes·centos
不念霉运2 小时前
Gitee:本土化DevOps平台如何助力中国企业实现高效研发协作
运维·gitee·devops
爱喝水的鱼丶2 小时前
SAP-ABAP:ABAP Open SQL 深度解析:核心特性、性能优化与实践指南
运维·开发语言·数据库·sql·性能优化·sap·abap
liweiweili1263 小时前
Tomcat 服务器日志
java·运维·服务器·tomcat
程序员编程指南4 小时前
Qt 嵌入式 Linux 系统定制全指南
linux·c语言·开发语言·c++·qt
皓月盈江6 小时前
Linux Deepin深度操作系统应用商店加载失败,安装星火应用商店
linux·debian·deepin·国产操作系统·深度操作系统·星火应用商店·deepin应用商店加载失败
Linux技术芯7 小时前
#Linux内存管理# 详细介绍madvise函数的工作原理
linux