首页  >  文章  >  数据库  >  centos编译安装mysql

centos编译安装mysql

王林
王林原创
2023-05-23 10:18:37569浏览

CentOS编译安装MySQL

MySQL是一种流行的关系型数据库管理系统。在Linux服务器上安装和配置MySQL是进行Web开发和运行的必要步骤之一。虽然许多Linux发行版包含MySQL的预编译版本,但本文将介绍如何使用源代码编译安装MySQL。

本文将演示如何在CentOS 7上安装MySQL 8.0.27的最新版本。在开始之前,请确保已经在CentOS服务器上安装了以下工具:

  • 一个CentOS 7服务器
  • 一个sudo非root用户
  • gcc编译器和make命令
  • wget和tar命令
  1. 下载MySQL的源代码

要下载MySQL的源代码,请转到MySQL官方网站并从下载页面获取最新版本的源代码文件。或者,您可以通过以下命令在CentOS服务器上通过wget命令下载MySQL:

$ sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.27.tar.gz

这会将MySQL 8.0.27源代码文件下载到CentOS服务器的当前目录。

  1. 解压缩MySQL源代码

使用以下命令解压刚刚下载的MySQL 8.0.27源代码:

$ sudo tar xf mysql-8.0.27.tar.gz

此命令将MySQL源代码文件解压缩到当前目录。

  1. 安装依赖项

使用以下命令在CentOS服务器上安装一些必需的依赖项:

$ sudo yum install -y libaio-devel openssl-devel
  1. 编译和安装MySQL

以下是编译和安装MySQL的步骤:

$ cd mysql-8.0.27
$ sudo groupadd mysql
$ sudo useradd -r -g mysql -s /bin/false mysql
$ sudo cmake . -DMYSQL_DATADIR=/var/lib/mysql 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DDEFAULT_CHARSET=utf8mb4 
-DDEFAULT_COLLATION=utf8mb4_unicode_ci 
-DWITH_BOOST=/usr/local/boost 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DOWNLOADS=1 
-DDOWNLOAD_BOOST=1 
-DWITH_SSL=system 
-DWITH_ZLIB=bundled 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DTRACE=0 
-DWITH_DEBUG=0
$ sudo make
$ sudo make install

这里解释一下这些参数的含义:

  • MYSQL_DATADIR=/var/lib/mysql:指定MySQL的数据目录。
  • CMAKE_INSTALL_PREFIX=/usr/local/mysql:指定MySQL的安装目录。
  • DEFAULT_CHARSET=utf8mb4和DEFAULT_COLLATION=utf8mb4_unicode_ci:使用UTF-8编码。
  • WITH_BOOST=/usr/local/boost:使用Boost库。
  • WITH_INNOBASE_STORAGE_ENGINE=1、WITH_ARCHIVE_STORAGE_ENGINE=1、WITH_BLACKHOLE_STORAGE_ENGINE=1、WITH_PARTITION_STORAGE_ENGINE=1和WITH_FEDERATED_STORAGE_ENGINE=1:使用不同的存储引擎。
  • ENABLE_DOWNLOADS=1和DOWNLOAD_BOOST=1:从MySQL官网下载Boost库。
  • WITH_SSL=system和WITH_ZLIB=bundled:仅使用系统的OpenSSL和MySQL内置的Zlib库。
  • ENABLED_LOCAL_INFILE=1:允许使用“LOAD DATA LOCAL INFILE”语句。
  • ENABLE_DTRACE=0:禁用DTrace功能。
  • WITH_DEBUG=0:禁用调试信息。
  1. 配置MySQL

使用以下命令创建MySQL配置文件并启用系统日志:

$ sudo cp support-files/mysql.server /etc/init.d/mysql
$ sudo chmod +x /etc/init.d/mysql
$ sudo touch /var/log/mysql/mysqld.log
$ sudo chown -R mysql:mysql /usr/local/mysql
$ sudo chown -R mysql:mysql /var/log/mysql
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

然后,编辑/etc/my.cnf文件并添加以下内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
  1. 初始化MySQL和设置管理员密码

使用以下命令初始化MySQL并设置管理员密码:

$ cd /usr/local/mysql/bin
$ sudo ./mysqld --initialize-insecure --user=mysql
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo systemctl start mysql
$ sudo /usr/local/mysql/bin/mysql_secure_installation

--initialize-insecure:初始化MySQL并允许未加密的root密码。

--user=mysql:以mysql用户的身份启动MySQL。

mysql_secure_installation:运行MySQL安全安装向导并为root用户设置密码。

  1. 测试MySQL

最后,使用以下命令测试MySQL是否成功安装,并使用新设置的管理员密码登录:

$ mysql -u root -p

如果一切正常,您应该能够登录到MySQL命令行提示符。

总结

在CentOS 7上编译安装MySQL可能需要一些时间和功夫,但它提供了细粒度控制和更好的性能。如果您使用MySQL进行生产工作负载,这是一个很好的选择。通过按照本文中的步骤进行操作,您应该能够成功地在CentOS服务器上安装和配置MySQL。

以上是centos编译安装mysql的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn