bash,sudo yum install -y wget,wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm,sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm,sudo yum install -y mysql-server,sudo systemctl start mysqld,sudo systemctl enable mysqld,
``在CentOS 7操作系统上本地安装MySQL数据库是一项常见任务,无论是为了开发、测试还是生产环境,本文将详细介绍如何在CentOS 7上从源码编译安装MySQL数据库,并提供相关的配置步骤和注意事项。
准备工作
1、更新系统并安装必要的编译工具:
sudo yum update -y sudo yum install -y gcc-c++ cmake make
2、下载MySQL源码:
假设我们要安装MySQL 8.0.34版本,可以使用以下命令下载源码包:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34.tar.gz tar -xzvf mysql-8.0.34.tar.gz cd mysql-8.0.34
编译和安装MySQL
1、配置编译参数:
在编译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" \ .
2、编译和安装:
配置完成后,开始编译和安装MySQL。
make -j$(nproc) sudo make install
配置MySQL
1、创建MySQL用户和组:
sudo groupadd mysql sudo useradd -r -g mysql mysql
2、初始化MySQL数据库:
sudo chown -R mysql:mysql /usr/local/mysql sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql
3、启动MySQL服务:
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
4、创建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
5、启用并启动MySQL服务:
sudo systemctl enable mysqld sudo systemctl start mysqld
6、登录MySQL并设置root密码:
sudo /usr/local/mysql/bin/mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; EXIT;
与RPM包安装的比较
通过编译源码安装MySQL与使用RPM包安装相比,有以下区别:
1、灵活性:编译源码可以让你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能。
2、兼容性:编译源码时可以确保MySQL与现有系统环境的兼容性。
3、复杂性:编译源码安装相对复杂,需要更多的时间和专业知识。
4、维护:使用RPM包安装的MySQL更容易维护和更新,因为可以通过包管理器轻松升级。
5、社区支持:RPM包安装通常会有更好的社区支持,包括文档和问题解决。
实践心得
在实际操作过程中,我们需要注意以下几点:
1、备份:在进行任何重大操作前,确保备份重要的数据。
2、版本选择:选择适合你业务需求的MySQL版本。
3、安全性:确保设置强密码并限制root用户的远程访问。
4、性能调优:根据实际负载情况调整MySQL的配置文件。
通过上述步骤,我们成功地在CentOS 7中通过编译源码的方式安装了MySQL数据库,尽管这种方法相对复杂,但它能够提供更高的定制性和灵活性,对于需要高度定制化安装的场景,编译源码安装无疑是一个很好的选择。