CentOS系统下使用tar.gz包手动安装MySQL数据库的详细步骤
在Linux系统中,MySQL数据库是许多开发者和管理员的首选数据库管理系统。尽管许多Linux发行版提供了MySQL的包管理器安装方式,但有时我们可能需要手动安装以获得更多控制权或安装特定版本。本文将详细介绍在CentOS系统下使用tar.gz包手动安装MySQL数据库的详细步骤。
前提条件
- 操作系统:CentOS 7或更高版本
- 用户权限:具有root权限或sudo权限的用户
- 依赖包:确保系统已安装必要的依赖包,如
gcc
、make
、cmake
等
步骤一:下载MySQL tar.gz包
首先,访问MySQL官方网站或使用wget命令下载MySQL的tar.gz包。例如,下载MySQL 8.0.26版本:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26.tar.gz
步骤二:解压下载的包
将下载的tar.gz包解压到指定目录:
tar -xzf mysql-8.0.26.tar.gz
cd mysql-8.0.26
步骤三:安装依赖包
在编译MySQL之前,需要安装一些依赖包。使用以下命令安装:
sudo yum install -y gcc gcc-c++ cmake make bison ncurses-devel
步骤四:创建MySQL用户和组
为了安全和管理方便,建议创建一个专门的MySQL用户和组:
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
步骤五:编译和安装MySQL
- 创建编译目录:
mkdir build
cd build
- 运行cmake进行配置:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=NO
这里 -DCMAKE_INSTALL_PREFIX
指定了MySQL的安装路径,-DMYSQL_DATADIR
指定了数据存储路径。
- 编译MySQL:
make -j$(nproc)
-j$(nproc)
参数会使用所有可用的CPU核心进行并行编译,加快编译速度。
- 安装MySQL:
sudo make install
步骤六:配置MySQL
- 设置权限:
sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod -R 750 /usr/local/mysql
- 初始化数据库:
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql
此命令会生成一个初始的root密码,请记住输出的密码。
- 配置my.cnf文件:
创建或编辑 /etc/my.cnf
文件,添加以下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
[client]
socket=/tmp/mysql.sock
[mysqladmin]
socket=/tmp/mysql.sock
[mysqldump]
socket=/tmp/mysql.sock
步骤七:启动MySQL服务
- 创建系统服务:
创建一个systemd服务文件 /etc/systemd/system/mysqld.service
,添加以下内容:
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 启动MySQL服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
步骤八:安全配置MySQL
- 登录MySQL:
使用初始密码登录MySQL:
/usr/local/mysql/bin/mysql -u root -p
- 修改root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- 删除匿名用户和测试数据库:
DELETE FROM mysql.user WHERE User='';
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
- 刷新权限:
FLUSH PRIVILEGES;
步骤九:验证安装
最后,验证MySQL是否安装成功:
mysql -u root -p
如果能够成功登录,说明MySQL安装成功。