Tengine与Nginx环境MySQL安装命令详解

在安装MySQL之前,需要确保系统环境满足基本要求。建议使用CentOS 7或Ubuntu 18.04及以上版本的操作系统。首先更新系统软件包到最新版本,并安装必要的依赖库。

Tengine与Nginx环境MySQL安装命令详解

  • CentOS/RHEL系统:
    yum update -y && yum install -y wget curl libaio numactl
  • Ubuntu/Debian系统:
    apt update && apt upgrade -y && apt install -y wget curl libaio1 libnuma-dev

检查系统中是否已存在MySQL或其他数据库服务,避免端口冲突。使用以下命令查看3306端口占用情况:netstat -tulpn | grep 3306。如果存在冲突,需要先停止相关服务或修改MySQL配置。

MySQL安装包下载与解压

从MySQL官方网站下载社区版服务器二进制包。推荐使用MySQL 8.0或5.7稳定版本。可以通过wget命令直接下载到服务器。

下载MySQL 8.0.33版本:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.17-x86_64.tar.xz

下载完成后进行解压操作,并移动到标准安装目录:

  • tar -xvf mysql-8.0.33-linux-glibc2.17-x86_64.tar.xz
  • mv mysql-8.0.33-linux-glibc2.17-x86_64 /usr/local/mysql

MySQL系统用户与目录权限配置

为MySQL服务创建专用的系统用户和用户组,提高安全性。执行以下命令创建mysql用户组和用户:

  • groupadd mysql
  • useradd -r -g mysql -s /bin/false mysql

创建MySQL数据目录并设置正确的权限:

  • mkdir -p /usr/local/mysql/data
  • chown -R mysql:mysql /usr/local/mysql
  • chmod -R 750 /usr/local/mysql/data

MySQL初始化与安全设置

使用mysqld程序初始化MySQL数据目录。这一步会生成临时root密码,需要妥善保存。

初始化命令:
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完成后,查看临时root密码:grep 'temporary password' /usr/local/mysql/data/error.log。启动MySQL服务:/usr/local/mysql/bin/mysqld_safe --user=mysql &

运行安全设置脚本,修改root密码并移除测试数据库:

  • /usr/local/mysql/bin/mysql_secure_installation

配置MySQL系统服务

将MySQL配置为系统服务,实现开机自启动。复制服务文件到系统目录:

  • cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  • chmod +x /etc/init.d/mysqld

配置环境变量,将MySQL二进制文件路径添加到PATH:

  • echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
  • source /etc/profile

使用systemctl启用MySQL服务:

  • systemctl enable mysqld
  • systemctl start mysqld
  • systemctl status mysqld

Tengine/Nginx与MySQL连接配置

在Tengine或Nginx中配置MySQL连接,通常需要通过lua-nginx-module或反向代理方式实现。安装ngx_http_lua_module模块后,可以在配置文件中直接连接MySQL。

示例Nginx配置:

location /mysql {
content_by_lua_block {
local mysql = require "resty.mysql
local db, err = mysql:new
if not db then
ngx.say("failed to instantiate mysql: ", err)
return
end
db:set_timeout(1000)
local ok, err, errno, sqlstate = db:connect{
host = "127.0.0.1",
port = 3306,
database = "test",
user = "nginx_user",
password = "password

安装验证与故障排除

完成安装后,需要进行全面的功能验证。使用mysql客户端连接测试:mysql -u root -p。成功连接后执行基本SQL命令验证数据库功能。

常见问题排查:

  • 连接被拒绝:检查MySQL用户权限和防火墙设置
  • 服务启动失败:查看错误日志tail -f /usr/local/mysql/data/error.log
  • 性能问题:优化MySQL配置文件my.cnf中的参数设置

验证Tengine/Nginx与MySQL的连通性,确保Web服务器能够正常访问数据库服务。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/134621.html

(0)
上一篇 2025年11月27日 上午3:21
下一篇 2025年11月27日 上午3:22
联系我们
关注微信
关注微信
分享本页
返回顶部