HCRM博客

如何在CentOS上从源码安装MySQL?

在CentOS系统上通过源码安装MySQL,通常需要以下几个步骤:

1、基础准备

如何在CentOS上从源码安装MySQL?-图1
(图片来源网络,侵权删除)

创建MySQL用户和组。

安装必要的依赖包,如gcc、make、cmake等。

下载MySQL的源码包。

2、编译安装

解压源码包并进入解压后的目录。

使用cmake进行配置,指定安装路径、数据目录等参数。

如何在CentOS上从源码安装MySQL?-图2
(图片来源网络,侵权删除)

执行make命令进行编译,然后执行make install进行安装。

3、配置

修改相关目录的权限,确保MySQL用户有正确的读写权限。

编辑my.cnf配置文件,设置数据库的相关参数。

初始化数据库,生成初始的系统数据库和用户。

4、启动服务

如何在CentOS上从源码安装MySQL?-图3
(图片来源网络,侵权删除)

将MySQL设置为开机自启动。

启动MySQL服务,并检查其运行状态。

以下是详细的步骤和代码示例:

基础准备

1、创建MySQL用户和组

  • groupadd r g 27 mysql
  • useradd s /sbin/nologin r u 27 g 27 d /data/mysql mysql

2、安装必要依赖包

  • yum y install wget gcc gccc++ cmake ncursesdevel zlibdevel bzip2 perlDataDumper boost boostdoc boostdevel epelrelease

3、下载MySQL源码包

  • cd /opt
  • wget https://dev.mysql.com/get/Downloads/MySQL5.7/mysql5.7.33el7x86_64.tar.gz
  • wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL5.7/mysqlboost5.7.33.tar.gz

编译安装

1、解压源码包

  • tar zxvf mysql5.7.33el7x86_64.tar.gz
  • mv mysqlboost5.7.33 mysql5.7.33el7x86_64/boost

2、配置

  • cd mysql5.7.33el7x86_64
  • cmake . DDOWNLOAD_BOOST=1
  • DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  • DMYSQL_DATADIR=/data/mysql
  • DSYSCONFDIR=/etc
  • DWITH_BOOST=boost

3、编译和安装

  • make j4 && make install

配置

1、修改目录权限

  • chown R root:mysql /usr/local/mysql/
  • chown R mysql:mysql /data/mysql

2、编辑my.cnf配置文件

  • [client]
  • port = 3306
  • socket = /tmp/mysql.sock
  • [mysqld]
  • port = 3306
  • socket = /tmp/mysql.sock
  • user = mysql
  • basedir = /usr/local/mysql
  • datadir = /data/mysql/data
  • pidfile = /data/mysql/data/mysql.pid
  • log_error = /data/mysql/data/mysqlerror.log
  • slow_query_log = 1
  • long_query_time = 1
  • slow_query_log_file = /data/mysql/data/mysqlslow.log
  • skipexternallocking
  • key_buffer_size = 32M
  • max_allowed_packet = 1024M
  • table_open_cache = 128
  • sort_buffer_size = 768K
  • net_buffer_length = 8K
  • read_buffer_size = 768K
  • read_rnd_buffer_size = 512K
  • myisam_sort_buffer_size = 8M
  • thread_cache_size = 16
  • query_cache_size = 16M
  • tmp_table_size = 32M
  • performance_schema_max_table_instances = 1000
  • explicit_defaults_for_timestamp = true
  • max_connections = 500
  • max_connect_errors = 100
  • open_files_limit = 65535
  • log_bin=mysqlbin
  • binlog_format=mixed
  • server_id = 232
  • expire_logs_days = 10
  • earlypluginload = ""
  • default_storage_engine = InnoDB
  • innodb_file_per_table = 1
  • innodb_buffer_pool_size = 128M
  • innodb_log_file_size = 32M
  • innodb_log_buffer_size = 8M
  • innodb_flush_log_at_trx_commit = 1
  • innodb_lock_wait_timeout = 50

3、初始化数据库

  • cd /usr/local/mysql/bin
  • ./mysqld initializeinsecure user=mysql basedir=/usr/local/mysql datadir=/data/mysql/data

启动服务

1、设置开机自启动

  • cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysqld
  • chmod +x /etc/init.d/mysqld
  • chkconfig add mysqld
  • chkconfig mysqld on
  • service mysqld start

2、测试连接

  • /usr/local/mysql/bin/mysql uroot p

FAQs

问题1:为什么需要创建MySQL用户和组?

答:创建MySQL用户和组是为了保证数据库的安全,通过为MySQL分配独立的用户和组,可以限制对数据库文件的访问权限,只有MySQL用户和组的成员才能访问这些文件,这有助于防止未经授权的访问和潜在的安全威胁。

问题2:为什么需要指定数据目录和安装路径?

答:指定数据目录是为了让MySQL知道在哪里存储数据库文件和日志文件,而指定安装路径则是为了让MySQL知道它的可执行文件、库文件和其他资源文件应该安装在哪里,这些路径可以根据系统的实际情况和个人偏好来选择,但必须确保它们存在且有足够的空间来存储所需的文件。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/7105.html

分享:
扫描分享到社交APP
上一篇
下一篇