在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、创建数据目录并设置权限:
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)”的状态信息。