服务器编译部署MySQL
![服务器编译部署mysql](https://www.kdun.cn/ask/wp-content/themes/justnews/themer/assets/images/lazy.png)
一、前言
MySQL作为广泛使用的开源关系型数据库管理系统,在企业中得到了广泛应用,本文将详细介绍如何在Linux服务器上通过源码编译的方式安装和部署MySQL,并探讨其与使用RPM包安装的优缺点。
二、关于MySQL的安装方式
MySQL一般可以采用以下几种安装方式:
Yum安装:简单方便,适用于能访问网络的环境。
离线源码编译安装:可定制,适用性强,适用于无网络环境或需要定制MySQL的场景。
RPM包安装:简单方便,适用于RedHat系统。
![服务器编译部署mysql](https://www.kdun.cn/ask/wp-content/themes/justnews/themer/assets/images/lazy.png)
通用二进制包安装:简单好维护,适用于大多数环境。
三、部署规划
服务器规划
服务器 | 操作系统版本 | CPU架构 | MySQL安装方式 |
node6 | CentOS Linux release 7.4.1708 | x86_64 | 源码编译安装MySQL |
node7 | CentOS Linux release 7.4.1708 | x86_64 | 通用二进制包安装MySQL |
node8 | CentOS Linux release 7.4.1708 | x86_64 | RPM包安装MySQL |
node9 | CentOS Linux release 7.4.1708 | x86_64 | yum安装MySQL |
数据库目录规划
文件类型 | 文件部署位置 |
数据目录datadir | /data/data(确保该目录足够大) |
配置文件my.cnf | /etc/my.cnf |
错误日志log-error | /data/log/mysql_error.log |
二进制日志log-bin | /data/binlogs/mysql-bin(用于数据库恢复和主从复制) |
慢查询日志slow_query_log_file | /data/log/mysql_slow_query.log |
套接字文件socket | /data/run/mysql.sock |
进程ID文件mysql.pid | /data/run/mysql.pid |
四、准备工具
MySQL通用二进制包:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads
MySQL RPM包:mysql-community-client-5.7.28-1.el7.x86_64.rpm
等
下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads
![服务器编译部署mysql](https://www.kdun.cn/ask/wp-content/themes/justnews/themer/assets/images/lazy.png)
MySQL源码包:mysql-boost-5.7.28.tar.gz
下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads
MySQL的Yum源:mysql57-community-release-el7-10.noarch.rpm
下载地址: http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
五、源码编译安装MySQL
准备工作
确保你的CentOS 7系统已更新到最新状态,并安装了必要的编译工具,可以使用以下命令进行更新和安装工具:
sudo yum update -y sudo yum install -y gcc-c++ cmake make
下载MySQL源码
从MySQL官方网站下载MySQL的源代码包,假设我们要安装MySQL 8.0.29,可以使用如下命令:
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.29.tar.gz tar -zxvf mysql-8.0.29.tar.gz cd mysql-8.0.29
配置编译参数
在编译MySQL之前,需要配置编译参数,这一步非常重要,因为它决定了MySQL的功能和性能。
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DWITH_DEBUG=0 -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DWITH_PLUGIN_DIR="/usr/local/mysql/lib/plugin" .
编译和安装
配置完成后,可以开始编译和安装MySQL。
make -j $(nproc) sudo make install
配置MySQL
创建MySQL用户和组
sudo groupadd mysql sudo useradd -r -g mysql mysql
初始化MySQL数据库
sudo chown -R mysql:mysql /usr/local/mysql sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql
启动MySQL服务
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
创建MySQL服务
为了让MySQL服务在系统启动时自动启动,需要创建一个systemd服务文件。
sudo cat > /etc/systemd/system/mysqld.service <<EOF [Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld_safe Restart=always RestartSec=10 [Install] WantedBy=multi-user.target EOF
然后启用并启动MySQL服务:
sudo systemctl enable mysqld sudo systemctl start mysqld
登录MySQL
sudo /usr/local/mysql/bin/mysql -u root
设置root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; EXIT;
六、与RPM包安装的比较
灵活性:
编译源码可以让你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能,而RPM包安装则无法提供这种灵活性。
兼容性:
编译源码时可以确保MySQL与现有系统环境的兼容性,RPM包安装可能会因为依赖问题导致不兼容。
复杂性:
编译源码安装相对复杂,需要更多的时间和专业知识,而RPM包安装则相对简单快捷。
维护:
使用RPM包安装的MySQL更容易维护和更新,因为可以通过包管理器轻松升级,而编译源码安装需要手动管理更新过程。
以上内容就是解答有关“服务器编译部署mysql”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/715175.html