linux Ubuntu 通过mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz安装mysql的步骤

以下是在 Ubuntu 系统 中通过 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 手动安装 MySQL 5.7.26 的详细步骤:


一、准备工作

1. 安装依赖库
bash 复制代码
sudo apt update
sudo apt install libaio1 libnuma1 libtinfo5
2. 创建 MySQL 用户和组
bash 复制代码
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
3. 下载并解压 MySQL 压缩包
bash 复制代码
# 下载(如果本地没有)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

# 解压到 /usr/local
sudo tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local

# 创建软链接(方便管理)
sudo ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql

二、配置 MySQL

1. 设置目录权限
bash 复制代码
sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod -R 755 /usr/local/mysql
2. 初始化 MySQL 数据库
bash 复制代码
cd /usr/local/mysql

# 初始化数据目录(生成临时密码)
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 注意保存输出的临时密码(如 `root@localhost: 临时密码`)
3. 创建 MySQL 配置文件
bash 复制代码
sudo vim /etc/my.cnf

内容如下

ini 复制代码
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql_error.log
pid-file=/usr/local/mysql/data/mysql.pid

[client]
socket=/tmp/mysql.sock

三、启动 MySQL 服务

1. 手动启动(测试用)
bash 复制代码
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
2. 配置 systemd 服务(推荐)
bash 复制代码
sudo vim /etc/systemd/system/mysql.service

内容如下

ini 复制代码
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Restart=on-failure

[Install]
WantedBy=multi-user.target
3. 启动并启用服务
bash 复制代码
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo systemctl enable mysql

四、配置 MySQL 环境

1. 设置 root 密码
bash 复制代码
# 使用初始化时的临时密码登录
/usr/local/mysql/bin/mysql -u root -p

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
exit
2. 配置环境变量
bash 复制代码
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
3. 安全加固(可选)
bash 复制代码
sudo /usr/local/mysql/bin/mysql_secure_installation

五、验证安装

1. 检查 MySQL 状态
bash 复制代码
sudo systemctl status mysql
2. 连接数据库
bash 复制代码
mysql -u root -p
3. 查看版本
sql 复制代码
SELECT VERSION();

六、常见问题

1. 初始化失败
  • 错误日志 :查看 /usr/local/mysql/data/mysql_error.log
  • 权限问题 :确保 datadir 目录属主为 mysql:mysql
2. 无法启动服务
  • 检查端口冲突

    bash 复制代码
    netstat -tulnp | grep 3306
3. 忘记临时密码
  • 删除数据目录并重新初始化

    bash 复制代码
    sudo rm -rf /usr/local/mysql/data
    sudo mkdir /usr/local/mysql/data
    sudo chown mysql:mysql /usr/local/mysql/data
    sudo bin/mysqld --initialize --user=mysql

七、卸载 MySQL

bash 复制代码
sudo systemctl stop mysql
sudo rm -rf /usr/local/mysql* /etc/my.cnf /etc/systemd/system/mysql.service
sudo userdel mysql
sudo groupdel mysql
sudo systemctl daemon-reload

通过以上步骤,您可以在 Ubuntu 系统中完成 MySQL 5.7.26 的手动安装和配置。

相关推荐
云边有个稻草人31 分钟前
【Linux系统】进程地址空间
linux·虚拟地址空间·进程地址空间·虚拟地址空间是怎么实现的?·为什么要有虚拟地址空间?·怎么理解虚拟地址空间?
罗超驿2 小时前
8.数据库约束学习笔记:从非空、默认、唯一与主键约束到主键自增
数据库·mysql
Irene19915 小时前
SQL示例:分别使用 MySQL 和 Oracle 创建表,MySQL 插入数据建索引(自增主键、指定主键的区别,VARCHAR,VARCHAR2)
mysql·oracle
用户4217632814075 小时前
如何用java实现一个简单的并发版本控制MVCC
mysql
想唱rap5 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
阿维的博客日记6 小时前
求解深分页问题,last pk适合什么情况
java·mysql·深分页
曦夜日长6 小时前
Linux系统篇,权限(二):缺省权限、最终权限的计算、文件隔离的两种方式
linux·运维·服务器
__water6 小时前
【下载配置Mysql】
mysql
云水一下6 小时前
黑客的“猜密码”游戏:SSH暴力破解实战与Linux安全加固
linux·渗透测试·ssh·暴力破解
kebidaixu6 小时前
OK3568开发板更新Ubuntu22.04方法总结
linux·运维·服务器