
无论是个人开发者还是企业级应用,MySQL都提供了强大且灵活的数据存储和处理能力
本文将详细介绍如何在CentOS操作系统上,从TAR包手动安装MySQL,并成功启动服务
这一方法虽然比使用YUM或RPM包管理器安装稍显复杂,但它提供了更高的自定义能力和对安装过程的完全控制
一、准备工作 在开始安装之前,请确保你的CentOS系统已经更新到最新版本,并且具备root权限或者通过sudo命令执行必要操作的权限
此外,考虑到MySQL对系统资源的需求,建议至少分配2GB的内存和足够的磁盘空间
1.更新系统: bash sudo yum update -y 2.安装必要的依赖: MySQL的运行依赖于一些基础库文件,如`libaio`
你可以通过以下命令安装它们: bash sudo yum install -y libaio 3.下载MySQL TAR包: 访问MySQL官方网站,根据你的需求选择合适的版本(如MySQL Community Server)
下载对应的TAR格式的二进制包
例如,如果你选择的是MySQL8.0版本,下载链接可能类似于: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz 使用wget命令下载: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz 二、解压与安装 1.解压TAR包: 下载完成后,使用`tar`命令解压文件: bash tar -xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz 解压后,你会得到一个名为`mysql-8.0.xx-linux-glibc2.12-x86_64`的目录(版本号可能有所不同)
2.移动目录并重命名: 为了方便管理,建议将解压后的目录移动到`/usr/local/`目录下,并重命名为`mysql`: bash sudo mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql 3.创建用户和组: MySQL服务通常以非root用户运行,以提高安全性
创建一个名为`mysql`的用户和组: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 4.更改目录所有权: 将MySQL安装目录及其子目录的所有权更改为`mysql`用户和组: bash sudo chown -R mysql:mysql /usr/local/mysql 三、配置MySQL 1.初始化数据库: 在首次启动MySQL服务之前,需要初始化数据库
使用`mysqld --initialize`命令完成此操作
注意,这个步骤会生成一个临时的root密码,你需要记录下来以便后续登录使用
bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql 输出信息中类似于`A temporary password is generated for root@localhost: A1b2C3d4e5`的部分即为临时密码
2.创建配置文件: MySQL的配置文件通常位于`/etc/my.cnf`
你可以从MySQL安装目录复制一个示例配置文件作为起点: bash sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 然后,根据实际需求编辑该文件,调整参数如数据目录、端口号等
3.设置数据目录: 默认情况下,MySQL的数据目录位于`/usr/local/mysql/data`
确保该目录存在且权限正确: bash sudo mkdir -p /usr/local/mysql/data sudo chown -R mysql:mysql /usr/local/mysql/data 在`/etc/my.cnf`中确认或设置`datadir`参数指向该目录
四、启动MySQL服务 1.创建系统服务脚本: 为了方便管理MySQL服务的启动和停止,可以创建一个systemd服务脚本
在`/etc/systemd/system/`目录下创建一个名为`mysqld.service`的文件,并添加以下内容(根据实际情况调整路径): ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 2.重新加载systemd配置: bash sudo systemctl daemon-reload 3.启动MySQL服务: bash sudo systemctl start mysqld 4.设置开机自启动: bash sudo systemctl enable mysqld 5.检查服务状态: bash sudo systemctl status mysqld 如果一切正常,你应该能看到MySQL服务正在运行的提示
五、安全配置与登录 1.运行安全脚本: MySQL提供了一个安全安装脚本,可以帮助你进行一系列的安全配置,如设置root密码、删除匿名用户、禁止远程root登录等
运行以下命令: bash sudo /usr/local/mysql/bin/mysql_secure_installation 按照提示操作,输入之前记录的临时密码,并设置新的root密码,回答相关问题以完成安全配置
2.登录MySQL: 使用新设置的root密码登录MySQL: bash /usr/local/mysql/bin/mysql -u root -p 输入密码后,你将进入MySQL命令行界面,可以开始执行SQL语句或进行其他管理操作
六、常见问题排查 -服务启动失败:检查`/var/log/mysqld.log`(或根据配置文件中的`log_error`参数指定的位置)中的错误日志,通常能找到启动失败的原因
-权限问题:确保所有MySQL相关的目录和文件权限设置正确,特别是数据目录和配置文件
-端口冲突:默认情况下,MySQL使用3306端口
如果该端口已被占用,需要在配置文件中更改`port`参数,并确保防火墙规则允许新端口
MHA高效管理多套MySQL主从集群
CentOS下MySQL tar包安装与启动指南
MySQL建表攻略:如何添加主键约束提升数据效能
MySQL错误0x80070422解决方案速递
轻松解锁:如何配置防火墙以允许MySQL连接
MySQL变身注册中心:轻松实现高效服务治理
挑选MySQL旧版本:哪个更适合你的需求?
MHA高效管理多套MySQL主从集群
MySQL建表攻略:如何添加主键约束提升数据效能
MySQL错误0x80070422解决方案速递
轻松解锁:如何配置防火墙以允许MySQL连接
MySQL变身注册中心:轻松实现高效服务治理
挑选MySQL旧版本:哪个更适合你的需求?
MySQL单行注释技巧:轻松掌握语法精髓这个标题紧扣“mysql中单行注释的语法”关键词,
Linux安装MySQL遇依赖问题解决方案
安装完MySQL后,新手入门指南
MySQL:打造高效嵌入式数据库方案
解决安装MySQL时遇到的拒绝访问错误指南
C语言可视化MySQL数据集指南