HCRM博客

如何在 CentOS 上离线安装 MySQL?

在CentOS上离线安装MySQL是一个相对复杂但可行的任务,它涉及多个步骤,包括下载所需的软件包、创建用户和组、配置环境变量等,以下是一份详细的离线安装指南:

一、准备工作

1、下载软件包

如何在 CentOS 上离线安装 MySQL?-图1
(图片来源网络,侵权删除)

前往[MySQL官网](https://dev.mysql.com/downloads/mysql/)或[国内镜像源](https://mirrors.tuna.tsinghua.edu.cn/mysql/),根据你的CentOS版本(如7或8)以及系统架构(x86_64),下载相应的MySQL Community Server压缩包,例如mysql5.7.36linuxglibc2.12x86_64.tar.gz

同时下载对应的libaio包,如libaio0.3.10913.el7.x86_64.rpm,该包是MySQL运行所依赖的

2、传输安装包:利用远程传输工具(如mobaxterm、filezilla、xftp等)或虚拟机共享文件夹等方式,将下载好的安装包传输到CentOS系统的指定目录,如/usr/local/src

二、安装步骤

1、安装libaio包:执行以下命令安装libaio包,以防止初始化报错:

   rpm ivh libaio0.3.10913.el7.x86_64.rpm

2、创建用户组和用户

   groupadd mysql
   useradd r g mysql mysql

3、创建数据目录并设置权限

如何在 CentOS 上离线安装 MySQL?-图2
(图片来源网络,侵权删除)
   mkdir /usr/local/mysql/data
   chown R mysql:mysql /usr/local/mysql/data

4、解压安装包:进入存放安装包的目录,执行解压命令:

   cd /usr/local/src
   tar zxvf mysql5.7.36linuxglibc2.12x86_64.tar.gz
   mv mysql5.7.36linuxglibc2.12x86_64 mysql

5、初始化数据库:执行以下命令初始化数据库,该命令会生成临时密码:

   /usr/local/mysql/bin/mysqld initialize user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data lc_messages_dir=/usr/local/mysql/share

6、查看初始密码:通过查看日志文件获取初始密码,密码位于最后一行:

   cat /var/log/mysqld.log | grep "temporary password"

7、配置快捷启动

创建mysql.sock文件并设置权限:

    cd /usr/local/mysql/data/
    vim mysql.sock
    chmod 777 mysql.sock
    chown mysql:mysql mysql.sock

建立软链接以便快速启动MySQL服务:

    ln s /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysql
    ln s /usr/local/mysql/bin/mysql /usr/bin/mysql

8、启动服务:执行以下命令启动MySQL服务:

   systemctl start mysqld

9、修改默认密码:使用初始密码登录MySQL后,修改默认密码:

登录MySQL:

    mysql u root p

修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

10、开放远程连接:如果需要允许远程访问MySQL,可以修改用户表的host字段为%,然后刷新权限:

    UPDATE user SET host = '%' WHERE user = 'root';
    FLUSH PRIVILEGES;

三、FAQs

1、Q:如果在初始化数据库时遇到“libnuma.so.1: cannot open shared object file: No such file or directory”错误,应该怎么办?

A:这是由于缺少libnuma库导致的,可以通过以下命令安装该库:

   yum install y libaio numactl

2、Q:如何检查MySQL服务是否已经成功启动?

A:可以执行以下命令来检查MySQL服务的状态:

   systemctl status mysqld

如果服务正在运行,你会看到类似于“active (running)”的状态信息。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/22702.html

分享:
扫描分享到社交APP
上一篇
下一篇