Ubuntu 安装MySQL8.0、Ubuntu 安装nginx_1.26

Linux的内核版本太多了,每次换了内核,安装适配就要出点事,这个遇上Ubuntu安装nginx和MySQL时遇到点问题,有必要记录一下,如果文章能解决你的问题,记得点赞一下。毕竟当个好人不容易。

拿到服务器的第一件事就是检查内核:uname -a

复制代码
Linux sf-ubuntu071049 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May  5 19:26:24 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

我拿到的是6.8.0-117-generic(Ubuntu 24.04 LTS 系列)比较新,所以nginx和MySQL的版本也要作相应的升级。本人使用的nginx1.26,MySQL8.0.39

安装前还缺失了类库,老规矩上类库地址:

Index of /ubuntu/pool/main/liba/libaio

我缺的是libaio(Linux Native AIO 库),这是 MySQL/MariaDB 初始化必需的依赖

下载版本:libaio1_0.3.112-5_amd64.deb

查询系统是否自带MySQL的密令需要改变,rpm不能用,改用dpkg

复制代码
# 使用 dpkg 查询(Ubuntu 原生方式)
dpkg -l | grep mariadb

安装密令:

复制代码
sudo dpkg -i *.deb

检查glibc版本:glibc 版本是 2.39,MySQL8以下的版本安装不了

复制代码
# 检查系统 glibc 版本
ldd --version

root@sf-ubuntu071049:~# ldd --version
ldd (Ubuntu GLIBC 2.39-0ubuntu8.7) 2.39
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
root@sf-ubuntu071049:~# 

MySQL的配置文件my.cnf文件:

复制代码
[client]
port=3306
socket=/data/wanmagroup/rte/mysql/tmp/mysql.sock

[mysqld]
basedir=/data/wanmagroup/rte/mysql
datadir=/data/wanmagroup/rte/mysql/data

port=3306
socket=/data/wanmagroup/rte/mysql/tmp/mysql.sock
pid-file=/data/wanmagroup/rte/mysql/tmp/mysql.pid

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

default-storage-engine=INNODB

max_connections=1000

general_log=OFF

expire_logs_days=7

log_error=/data/wanmagroup/rte/mysql/log/error.log

slow_query_log=1
slow_query_log_file=/data/wanmagroup/rte/mysql/log/slow.log

long_query_time=3

innodb_buffer_pool_size=4G

解压和存储及日志文件创建好后,启动MySQL:

复制代码
cd /data/wanmagroup/rte/mysql

./bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

检查服务状态:systemctl status mysql

看到下面的内容说明启动成功,可以开始登录

复制代码
mysqld: ready for connections. Version: '8.0.39'
socket: '/data/wanmagroup/rte/mysql/tmp/mysql.sock'
port: 3306

cd /data/wanmagroup/rte/mysql

./bin/mysql -uroot -p

登录成功后i修改密码,log的初始密码,取决于你自己配置的log路径,或者默认log路径里,自启跟其他内核一样:systemctl enable mysql

Ubuntu防护墙开通端口常用密令:

复制代码
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3305/tcp
ufw enable
ufw status verbose
ufw reload

nginx部分:先下载对应版本,开头就说了nginx1.26,用nginx1.27也行,下面是下载链接

复制代码
https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.26.3-1~noble_amd64.deb

下载上传后安装:sudo dpkg -i *.deb

安装后,使用nginx -t验证,剩余下的nginx密令跟其他内核一样

复制代码
systemctl start nginx
systemctl restart nginx
systemctl enable nginx
systemctl status nginx