Ubuntu 24.04环境下采用二进制方式安装 MySQL 5.7

📅 发布时间:2026/7/5 14:30:18 👁️ 浏览次数:
Ubuntu 24.04环境下采用二进制方式安装 MySQL 5.7
之前采用dpkg安装DEB包方式在ubuntu24环境安装了MySQL 5.7数据库可以正常运行但由于忽略包依赖告警强制安装libaio1包依赖不正常导致APT 安装会跳告警无法使用非常不方便。所以需要一种更好的安装方式尝试用二进制方式安装。1. 安装必要的依赖和兼容库# 安装基础依赖sudo apt install libaio1t64 libncurses6 libnuma1 psmisc -y# 创建兼容性软链接解决高版本库的兼容问题sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1sudo ln -sf /usr/lib/x86_64-linux-gnu/libncursesw.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5# 安装旧版 ncurses5 库MySQL 5.7 需要wget http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libtinfo5_6.1-1ubuntu1_amd64.debwget http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5_6.1-1ubuntu1_amd64.debsudo dpkg -i libtinfo5_6.1-1ubuntu1_amd64.debsudo dpkg -i libncurses5_6.1-1ubuntu1_amd64.deb2. 下载并安装 MySQL 5.7 二进制包# 下载 MySQL 5.7.44 二进制包最新 5.7 版本cd /tmpwget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz# 解压到 /usr/localsudo tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/cd /usr/local/sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql3. 创建 MySQL 用户和目录# 创建 mysql 用户组和用户sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysql# 创建数据目录和日志目录sudo mkdir -p /data/mysql/{data,log,tmp}sudo chown -R mysql:mysql /data/mysqlsudo chown -R mysql:mysql /usr/local/mysql4. 配置 MySQL# 创建配置文件sudo tee /etc/my.cnf EOF[client]port 3306socket /tmp/mysql.sock[mysqld]user mysqlport 3306basedir /usr/local/mysqldatadir /data/mysql/datatmpdir /data/mysql/tmpsocket /tmp/mysql.sockpid-file /data/mysql/mysql.pidlog-error /data/mysql/log/error.logcharacter-set-server utf8mb4collation-server utf8mb4_general_ciexplicit_defaults_for_timestamp truedefault_password_lifetime 0# 跳过 DNS 反向解析skip-name-resolve# InnoDB 配置innodb_buffer_pool_size 128Minnodb_log_file_size 32Minnodb_flush_log_at_trx_commit 1innodb_file_per_table 1# 其他max_connections 500max_allowed_packet 16MEOF5. 初始化数据库# 初始化会生成临时密码sudo /usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf --initialize --usermysqlsudo cat /data/mysql/log/error.log | grep password查看临时密码6. 创建 Systemd 服务bashsudo tee /etc/systemd/system/mysql.service EOF[Unit]DescriptionMySQL Community ServerAfternetwork.target[Service]TypeforkingUsermysqlGroupmysqlExecStart/usr/local/mysql/support-files/mysql.server startExecStop/usr/local/mysql/support-files/mysql.server stopExecReload/bin/kill -HUP $MAINPIDPIDFile/data/mysql/mysql.pidRestarton-failure[Install]WantedBymulti-user.targetEOF# 重新加载 systemdsudo systemctl daemon-reload7. 启动 MySQL 并设置环境变量# 启动服务sudo systemctl start mysqlsudo systemctl enable mysql# 检查状态sudo systemctl status mysql# 添加 MySQL 到 PATHecho export PATH/usr/local/mysql/bin:$PATH | sudo tee /etc/profile.d/mysql.shsource /etc/profile.d/mysql.sh8. 安全设置# 使用初始化时生成的临时密码登录mysql -u root -p# 登录后立即修改密码ALTER USER rootlocalhost IDENTIFIED BY 新密码;FLUSH PRIVILEGES;# 创建远程访问用户CREATE USER root% IDENTIFIED BY 密码;GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION;FLUSH PRIVILEGES;测试外部连接数据库正常导入数据正常APT install 可正常使用安装成功。