一、准备工作
- 确保你是 root 用户,或者有 sudo 权限
安装软件一般得有管理员权限,要不很多操作做不了。 - 检查系统是不是 Linux x86_64 架构
这个包是给 64 位 Linux 系统准备的,你得确认你的系统是这个架构,一般主流的 Linux 都是。 - 下载 MySQL 包(如果你还没下)
假如你已经有了mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
这个文件,就跳过这步。
如果没有,去 MySQL 官网或者镜像站下载这个版本的压缩包。 - 安装下载:https://pan.quark.cn/s/e41fc33ca47c
- 上传到 Linux 服务器(如果是远程的话)
比如用scp
或者 FTP 工具把文件传到你 Linux 机器上的某个目录,比如/home/yourname/
。
二、解压安装包
- 打开终端,进入压缩包所在目录
比如包在/home/yourname/
,你就敲:
cd /home/yourname/
- 解压这个 tar.gz 文件
运行命令:
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
这会把压缩包解开,得到一个文件夹,名字大概是 mysql-5.7.30-linux-glibc2.12-x86_64
。
- (可选)把解压出来的文件夹移动到
/usr/local/
下,并改个简单名字
为了以后好记好操作,一般我们会把它放到/usr/local/mysql
:
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
三、创建 mysql 用户和组
MySQL 不建议用 root 用户运行,所以我们要先创建一个专门的 mysql 用户。
- 创建 mysql 用户组(如果还没有)
groupadd mysql
- 创建 mysql 用户,并指定到这个组,且不允许登录系统
useradd -r -g mysql -s /bin/false mysql
四、创建数据目录并设置权限
MySQL 的数据要存放在一个专门的目录,比如 /var/lib/mysql
- 创建数据目录
mkdir -p /var/lib/mysql
- 把目录所有者设为 mysql 用户和组
chown -R mysql:mysql /var/lib/mysql
- 设置权限
chmod -R 750 /var/lib/mysql
五、初始化 MySQL 数据库
这一步很重要,相当于给 MySQL “开机准备”。
- 进入 MySQL 目录
cd /usr/local/mysql
- 执行初始化命令
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
注意:执行过程中可能会出一长串输出,记住最后一行出现的临时 root 密码,类似:
[Note] A temporary password is generated for root@localhost: Abc123!!
这个密码后面登录 MySQL 要用,一定要记下来!
如果这一步报错说缺少什么 lib 或者 so 文件,那可能是缺依赖库,得根据提示安装对应的库,比如 libaio
等。
如果你是在 CentOS/RHEL 上,可以运行:
yum install libaio
Ubuntu/Debian 可以尝试:
apt-get install libaio1
六、配置 MySQL 启动文件
- 复制启动脚本到
/etc/init.d/
(可选,如果想用 service 命令管理)
cp support-files/mysql.server /etc/init.d/mysqld
- 给脚本执行权限
chmod +x /etc/init.d/mysqld
七、配置环境变量(可选,方便在任意地方敲 mysql 命令)
- 编辑 ~/.bashrc 或者 /etc/profile 文件
vi ~/.bashrc
- 在文件末尾添加
export PATH=$PATH:/usr/local/mysql/bin
- 使配置生效
source ~/.bashrc
八、启动 MySQL
- 使用刚才复制的启动脚本启动
/etc/init.d/mysqld start
或者直接用 mysqld_safe(也在 mysql 的 bin 目录下)
如果你用了 systemd 等方式管理,也可以配置成系统服务,这里先不展开。
九、登录 MySQL 并修改密码
- 使用临时密码登录
mysql -u root -p
然后输入你之前记下的那个 临时密码(就是初始化时最后一行提示的那个)
- 登录成功后,修改 root 密码
比如改成MyNewPass123
:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123';
注意:MySQL 5.7 对密码强度有要求,如果报错说密码太简单,你可以先设个复杂点的,比如
MyNewPass@123
,后面再改简单点(不推荐)。
- 退出 MySQL
exit;