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

- 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.xzmv mysql-8.0.33-linux-glibc2.17-x86_64 /usr/local/mysql
MySQL系统用户与目录权限配置
为MySQL服务创建专用的系统用户和用户组,提高安全性。执行以下命令创建mysql用户组和用户:
groupadd mysqluseradd -r -g mysql -s /bin/false mysql
创建MySQL数据目录并设置正确的权限:
mkdir -p /usr/local/mysql/datachown -R mysql:mysql /usr/local/mysqlchmod -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/mysqldchmod +x /etc/init.d/mysqld
配置环境变量,将MySQL二进制文件路径添加到PATH:
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profilesource /etc/profile
使用systemctl启用MySQL服务:
systemctl enable mysqldsystemctl start mysqldsystemctl 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