尽管在线安装(通过网络直接下载并安装)非常方便,但在某些情况下,如服务器无法访问外网,离线安装则成为唯一的选择
本文将详细介绍如何在Linux系统下进行MySQL的离线安装,确保步骤详尽、操作可行
一、准备工作 在开始安装之前,确保你已经下载了MySQL的安装包,并将其放置在一个可以访问的位置
MySQL安装包有多种格式,常见的有.rpm(适用于Red Hat、CentOS等系统)、.deb(适用于Debian、Ubuntu等系统)和.tar.gz(适用于大多数Linux发行版,需要手动解压和配置)
下载MySQL安装包: -访问【MySQL官网】(https://downloads.mysql.com/archives/community/)下载相应版本的安装包
- 根据你的Linux发行版选择合适的安装包格式
- 如果你无法直接下载到服务器上,可以在本地机器上下载后,使用scp命令上传到Linux服务器上
例如,使用scp命令上传安装包: bash scp mysql-server-version.rpm user@your-server-ip:/path/to/upload/ 其中,`user`是你的服务器用户名,`your-server-ip`是你的服务器IP地址,`/path/to/upload/`是你希望保存安装包的目录
二、安装MySQL 根据你所使用的Linux发行版,安装MySQL的步骤会有所不同
以下分别介绍基于.rpm包、.deb包和.tar.gz包的安装方法
1. 基于.rpm包的安装(适用于Red Hat、CentOS等) (1)上传并解压安装包(如果下载的是压缩包,需要先解压)
由于.rpm包通常不需要解压,这一步可以跳过
(2)登录到远程服务器,并进入安装包所在的目录
bash ssh user@your-server-ip cd /path/to/upload/ (3)安装MySQL
bash sudo rpm -ivh mysql-server-version.rpm (4)启动MySQL服务,并确保MySQL在启动时自动启动
bash sudo systemctl start mysqld sudo systemctl enable mysqld 2. 基于.deb包的安装(适用于Debian、Ubuntu等) (1)上传安装包到服务器
(2)登录到远程服务器,并进入安装包所在的目录
bash ssh user@your-server-ip cd /path/to/upload/ (3)安装MySQL
bash sudo dpkg -i mysql-server-version.deb 注意:在某些情况下,dpkg命令可能会提示缺少依赖项
这时,你需要下载并安装所有缺失的依赖项,或者使用apt-get命令来安装(如果可用)
(4)启动MySQL服务,并确保MySQL在启动时自动启动
bash sudo systemctl start mysqld sudo systemctl enable mysqld 3. 基于.tar.gz包的安装(适用于大多数Linux发行版) (1)上传安装包到服务器,并解压到指定目录
bash ssh user@your-server-ip cd /path/to/upload/ tar -zxvf mysql-version-linux-glibc2.XX-x86_64.tar.gz -C /usr/local/ (2)重命名解压后的目录(可选)
bash mv /usr/local/mysql-version-linux-glibc2.XX-x86_64 /usr/local/mysql (3)配置环境变量,以便系统可以找到MySQL的安装路径
编辑~/.bashrc文件,添加以下内容: bash export PATH=$PATH:/usr/local/mysql/bin 然后使配置生效: bash source ~/.bashrc (4)创建数据目录和用户组
bash mkdir /usr/local/mysql/data groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql /usr/local/mysql (5)初始化MySQL数据库
bash mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化完成后,会生成一个随机的root密码,记下这个密码,稍后会用到
(6)修改MySQL配置文件(通常位于/etc/my.cnf或/etc/mysql/my.cnf)
bash vi /etc/my.cnf 在【mysqld】部分添加或修改以下内容: bash 【mysqld】 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock character-set-server=utf8 (7)启动MySQL服务
由于.tar.gz包没有提供systemd服务文件,你需要手动启动MySQL或使用其他方式将其添加为系统服务
bash /usr/local/mysql/support-files/mysql.server start 或者将MySQL添加到系统服务中(需要root权限): bash cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql service mysql start 三、MySQL基础配置与安全设置 安装完成后,你需要对MySQL进行一些基础配置和安全设置
1. 设置root密码 无论是哪种安装方式,你都需要设置MySQL的root密码
在初始化MySQL后,你可以使用以下命令登录MySQL: bash mysql -uroot -p 然后输入初始化时生成的随机密码
登录成功后,使用以下命令设置新的root密码: sql ALTER USER root@localhost IDENTIFIED BY new_password; FLUSH PRIVILEGES; 其中,`new_password`是你希望设置的新密码
2. 删除匿名用户 为了增强安全性,建议删除MySQL中的匿名用户
登录MySQL后,执行以下命令: sql DELETE FROM mysql.user WHERE User=; FLUSH PRIVILEGES; 3.禁止root远程登录(可选) 如果你不希望root用户能够从远程登录MySQL,可以将其host字段修改为`localhost`
登录MySQL后,执行以下命令: sql UPDATE mysql.user SET Host=localhost WHERE User=root; FLUSH PRIVILEGES; 4. 其他安全设置 MySQL还提供了一条安全配置脚本`mysql_secure_install