准备安装环境
在CentOS系统中使用tar包安装MySQL前,需要先确认系统已经安装了必要的依赖,同时关闭系统自带的MariaDB服务,避免端口和文件冲突。如果系统中已经存在其他版本的MySQL,也需要先卸载干净再执行后续操作。

首先检查系统是否有MariaDB相关包,执行以下命令查询:
rpm -qa | grep mariadb
如果有输出结果,执行卸载命令:
rpm -e --nodeps mariadb-libs
接着安装MySQL运行需要的依赖包:
yum install -y libaio numactl
下载并解压MySQL tar包
前往MySQL官方下载对应版本的tar包,这里以MySQL 8.0.33的Linux通用版为例,下载完成后上传到CentOS服务器的/usr/local/src目录下,然后执行解压操作。
解压命令如下:
cd /usr/local/src tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
解压完成后,将解压出来的目录移动到/usr/local/mysql路径下,方便后续统一管理:
mv mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql
创建MySQL用户和目录
为了安全起见,MySQL服务不建议使用root用户运行,需要单独创建mysql用户和用户组,同时创建MySQL的数据存储目录和日志目录,并赋予对应的权限。
执行以下命令创建用户和组:
groupadd mysql useradd -r -g mysql -s /bin/false mysql
创建数据目录和日志目录,并修改所有者为mysql用户:
mkdir -p /usr/local/mysql/data mkdir -p /usr/local/mysql/log chown -R mysql:mysql /usr/local/mysql chmod -R 750 /usr/local/mysql
配置MySQL环境变量
为了方便在任意路径下执行MySQL相关命令,需要将MySQL的bin目录添加到系统的环境变量中。编辑/etc/profile文件,在文件末尾添加以下内容:
export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH
保存文件后执行以下命令让配置生效:
source /etc/profile
初始化MySQL数据库
进入MySQL的安装目录,执行初始化命令,初始化过程中会生成root用户的临时密码,需要记录下来,后续登录会用到。
初始化命令如下:
cd /usr/local/mysql bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化完成后,在输出的日志中可以找到类似A temporary password is generated for root@localhost: xxxxx的内容,其中xxxxx就是临时密码。
配置MySQL配置文件
MySQL的配置文件默认路径为/etc/my.cnf,如果不存在该文件可以手动创建,添加基础配置内容如下:
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock port=3306 log-error=/usr/local/mysql/log/error.log pid-file=/usr/local/mysql/mysql.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci [client] socket=/usr/local/mysql/mysql.sock default-character-set=utf8mb4
保存配置文件后,修改文件权限:
chown mysql:mysql /etc/my.cnf
注册并启动MySQL服务
将MySQL服务注册到系统服务中,方便使用systemctl命令管理。复制MySQL自带的服务文件到系统服务目录:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
编辑/etc/init.d/mysqld文件,修改其中的basedir和datadir参数:
basedir=/usr/local/mysql datadir=/usr/local/mysql/data
添加服务并设置开机自启,然后启动MySQL服务:
chkconfig --add mysqld chkconfig mysqld on systemctl start mysqld
检查服务状态,确认MySQL已经正常启动:
systemctl status mysqld
登录并修改root密码
使用初始化时生成的临时密码登录MySQL,登录后必须修改root密码才能执行其他操作。
登录命令如下:
mysql -u root -p
输入临时密码后进入MySQL命令行,执行以下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!'; FLUSH PRIVILEGES;
如果需要允许root用户远程登录,可以执行以下命令修改权限:
CREATE USER 'root'@'%' IDENTIFIED BY 'NewPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
常见问题排查
如果启动MySQL服务失败,可以查看/usr/local/mysql/log/error.log日志文件,常见的错误原因包括目录权限不足、端口被占用、配置文件参数错误等。如果是端口被占用,可以执行netstat -tlnp | grep 3306查看占用进程,停止对应进程后再启动MySQL服务。
如果执行mysql命令提示找不到命令,可以检查环境变量是否配置正确,或者直接使用绝对路径/usr/local/mysql/bin/mysql执行命令。
CentOStar安装MySQLMySQL配置my.cnf配置Linux部署MySQL修改时间:2026-07-17 20:51:34