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知道它的可执行文件、库文件和其他资源文件应该安装在哪里,这些路径可以根据系统的实际情况和个人偏好来选择,但必须确保它们存在且有足够的空间来存储所需的文件。

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