启动前的准备工作
-
确认MySQL安装状态
执行以下命令检查是否已安装MySQL/MariaDB:rpm -qa | grep -E 'mysql|mariadb'
-
若返回类似
mariadb-server-5.5.68-1.el7.x86_64
或mysql-community-server-8.0.26-1.el7.x86_64
的结果,说明已安装。 -
若未安装,需先安装:
# MariaDB(CentOS 7+默认) sudo yum install mariadb-server mariadb # MySQL官方版本(需先配置仓库) sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm sudo yum install mysql-community-server
-
-
检查服务当前状态
避免重复启动,先查看服务状态:sudo systemctl status mysqld # MySQL官方版本 sudo systemctl status mariadb # MariaDB版本
- 若显示
active (running)
表示已运行,无需操作。 - 若显示
inactive (dead)
则需启动。
- 若显示
启动MySQL/MariaDB服务
方法1:使用systemctl命令(推荐)
sudo systemctl start mariadb # MariaDB版本 # 设置开机自启(避免重启后服务停止) sudo systemctl enable mysqld sudo systemctl enable mariadb
方法2:使用service命令(旧版兼容)
sudo service mysqld start # MySQL sudo service mariadb start # MariaDB
验证服务是否成功启动
-
检查服务状态
sudo systemctl status mysqld # 输出中应有 "active (running)"
-
连接MySQL测试
尝试登录数据库:mysql -u root -p
- 首次安装MySQL 8.0+需查看临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
- MariaDB默认无密码,直接回车登录。
- 首次安装MySQL 8.0+需查看临时密码:
-
查看端口监听
运行ss -tulnp | grep 3306
,若显示LISTEN
表示服务已就绪。
常见问题与解决方案
-
启动失败:权限问题
# 修复数据目录权限 sudo chown -R mysql:mysql /var/lib/mysql # MySQL sudo chown -R mysql:mysql /var/lib/mysql # MariaDB sudo systemctl restart mysqld
-
端口冲突
若3306端口被占用:sudo ss -tulnp | grep 3306 # 查看占用进程 sudo systemctl stop 冲突服务名
-
配置文件错误
检查配置文件语法:mysqld --defaults-file=/etc/my.cnf --validate-config
修复后重启服务。
-
磁盘空间不足
使用df -h
检查/var
分区,清理日志文件(如/var/log/mysqld.log
)。
安全建议
-
重置root密码(首次启动后):
sudo mysql_secure_installation
按提示设置密码、移除测试数据库、禁止远程root登录等。
-
配置防火墙:
sudo firewall-cmd --permanent --add-service=mysql sudo firewall-cmd --reload
引用说明
- MySQL官方文档:MySQL Server System Variables
- MariaDB知识库:Starting and Stopping MariaDB
- CentOS系统管理指南:Managing Services with systemctl
重要提示:操作需
sudo
权限,生产环境建议提前备份数据(mysqldump
),若问题持续,查看日志/var/log/mysqld.log
或/var/log/mariadb/mariadb.log
定位原因。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9818.html