在Linux系统下通过编译安装MySQL 8.0,采用tar.xz源码包的方式,是一种灵活且控制度高的安装方法。以下是一个详尽的步骤指南,旨在帮助您顺利完成安装过程,并确保安装后的MySQL 8.0能够正常运行。
准备工作
系统要求:确保您的Linux系统满足MySQL 8.0的最低硬件和软件要求,包括但不限于支持的Linux内核版本、glibc版本等。
依赖安装:安装必要的开发工具和库,用于编译MySQL源代码。这通常包括
gcc
,cmake
,openssl-devel
,ncurses-devel
,bison
,flex
,libaio-devel
等。您可以使用如下命令安装这些依赖(以yum为例):sudo yum install gcc gcc-c++ cmake openssl-devel ncurses-devel bison flex libaio-devel
下载MySQL源码包
访问MySQL官方网站的下载页面(https://dev.mysql.com/downloads/mysql/),找到MySQL 8.0系列的tar.xz源码包。选择适合您系统架构的版本,比如
mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
。使用
wget
命令直接从网页链接下载到服务器上,例如:wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
其中
xx
代表具体版本号,请替换为实际版本号。
解压与配置
解压缩下载的tar.xz文件:
sudo tar xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
将解压后的目录移动到一个合适的位置,比如
/usr/local/mysql
:sudo mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql
配置与编译
进入MySQL源码目录:
cd /usr/local/mysql
执行配置脚本,指定安装路径和其它选项。这里我们指定安装到
/usr/local/mysql
,并启用SSL支持:sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_SSL=yes
编译并安装MySQL:
sudo make sudo make install
初始化MySQL
更改MySQL数据目录的所有权给MySQL用户(如果尚未创建,先创建MySQL用户和组):
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql sudo chown -R mysql:mysql /usr/local/mysql
初始化MySQL数据库:
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:初始化过程会输出root用户的临时密码,务必记录下来。
配置系统服务
创建MySQL服务启动脚本,并将其放置到
/etc/init.d
目录下(示例适用于Systemd系统):sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld sudo chmod +x /etc/init.d/mysqld
设置MySQL服务开机启动,并启动MySQL服务:
sudo systemctl enable mysqld sudo systemctl start mysqld
安全性增强
登录MySQL并修改root用户的密码:
mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
执行MySQL的安全脚本以进一步增强安全设置:
mysql_secure_installation
测试安装
最后,通过简单的查询来测试MySQL是否安装成功:
mysql -u root -p -e "SHOW DATABASES;"
如果一切顺利,您将看到MySQL的默认数据库列表,标志着MySQL 8.0已经成功安装并运行在您的Linux系统上了。
总结
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。