mysql命令-mysqld
mysqld 是 MySQL 数据库服务器的核心守护进程(也称为 MySQL Server 进程)。它负责处理所有数据库操作,包括连接管理、SQL 解析、查询执行、数据存储和检索等。
一、mysqld 的核心功能
1. 连接管理
-
监听端口(默认 3306)
-
处理客户端连接请求(支持 TCP/IP、Socket 等)
-
线程池管理(每个连接或线程池模式)
2. SQL 处理引擎
-
解析 SQL 语句
-
查询优化(基于成本优化器)
-
执行查询计划
3. 存储引擎接口
-
通过插件式架构支持多种存储引擎(InnoDB、MyISAM 等)
-
管理数据读写、索引、事务等
4. 事务与锁管理
-
InnoDB 支持 ACID 事务
-
行级锁、表锁管理
5. 日志系统
-
错误日志
-
二进制日志(Binlog,用于复制和恢复)
-
慢查询日志
-
重做日志(InnoDB Redo Log)
6. 安全与权限
-
用户认证(基于 mysql.user 表)
-
权限验证(访问控制)
二、重要配置文件与参数
1. 配置文件位置(按读取顺序)
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
也可以通过 mysqld --help --verbose | grep "my.cnf" 查看搜索路径。
2. 核心参数示例
[mysqld] # 基础设置 datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock port = 3306
# 内存相关 innodb_buffer_pool_size = 1G # InnoDB 缓冲池大小 key_buffer_size = 256M # MyISAM 索引缓冲
# 日志 log_error = /var/log/mysql/error.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log
# 复制相关(如果是从库) server_id = 2 log_bin = /var/log/mysql/mysql-bin.log
三、启动与停止
1. 启动方式
# 直接启动(调试用) mysqld --defaults-file=/etc/my.cnf --user=mysql
# 系统服务方式 systemctl start mysqld # RHEL/CentOS systemctl start mysql # Debian/Ubuntu
# 使用 mysqld_safe(自动重启) mysqld_safe --defaults-file=/etc/my.cnf &
2. 停止方式
mysqladmin -uroot -p shutdown# 或systemctl stop mysqld
3. 查看运行状态
ps aux | grep mysqldnetstat -tlnp | grep 3306systemctl status mysqld
四、常见管理命令
1. 查看版本与编译参数
mysqld --verbose --help | head -20mysqld --version
2. 检查配置文件有效性
mysqld --defaults-file=/etc/my.cnf --validate-config
3. 安全启动(无网络)
mysqld --skip-networking --socket=/tmp/mysql_debug.sock

发表评论
所有评论