CentOS 7 编译安装MySQL数据库系统

Apache HTTP Server作为优秀的Web服务器软件,提供了面向用户的前端应用功能。在实际生产环境中,为了提供更丰富、更强大的Web应用功能,往往还需要有后台数据库、网页编程语言等多种角色的支持。

作为一名合格的运维工程师,在Linux系统中搭建MySQL服务系统也是必备的技能之一。

MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能,高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySQL项目由MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护。

为了确保MySQL数据库功能的完整性、可定制性,我们决定采用源代码编译安装的方式安装MySQL数据库系统。MySQL 5.X系统版本的使用最为广泛,该版本的稳定性、兼容性都不错,我们以mysql-5.6.36.tar.gz为例。其官方网站为:https://www.mysql.com/

编译安装MySQL所需源代码包:
cmake源码包网盘下载链接:https://pan.baidu.com/s/15Q78GrbKDGWV2Tp_eAp1eg
提取码:85h5
mysql源码包网盘下载链接:链接:https://pan.baidu.com/s/1ffgOkbDctVT4T-gs3znS-A
提取码:i748

编译安装MySQL步骤:

一、准备工作

1.为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况。如果有,建议卸载!

[[email protected] ~]# rpm -q mysql-server mysql
未安装软件包 mysql-server
未安装软件包 mysql 

2.安装提供字符终端上使用的mysql基本库,以便使用mysql终端上更好的使用命令,避免乱码。

[[email protected] ~]# rpm -ivh /mnt/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
//安装系统盘自带的ncurses-devel包

3.MySQL 5.X系统版本需要cmake编译安装,所以先安装cmake包。

[[email protected] ~]# tar zxf cmake-2.8.6.tar.gz -C /usr/src
[[email protected] ~]# cd /usr/src/cmake-2.8.6/
[[email protected] cmake-2.8.6]# ./configure && gmake && gmake install

二、源码编译及安装

1.创建运行用户
为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统,可以不创建宿主文件夹。

[[email protected] ~]# groupadd mysql
[[email protected] ~]# useradd -M -s /sbin/nologin mysql -g mysql

2.解包
将下载的mysql源代码解压,并切换到解压后的目录。

[[email protected] ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src
[[email protected] ~]# cd /usr/src/mysql-5.6.36/

3.配置
在实际环境中,可以会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码。在配置过程中,可以将默认使用的字符集设置为utf-8,并添加其他字符集的支持。

[[email protected] mysql-5.6.36]# cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all

配置命令中,各选项的含义:

4.编译并安装

[[email protected] mysql-5.6.36]# make && make install

三、安装后的其他调整

1.对数据库目录进行权限设置

[[email protected] ~]# chown -R mysql:mysql /usr/local/mysql

2.建立配置文件
CentOS 7系统下默认支持MariaDB数据库,因此系统默认的/etc/my.cnf配置文件中是MariaDB的配置文件,在启动MySQL数据库之前,建议将原有的my.cnf文件替换为MySQL提供的配置文件内容。

[[email protected] ~]# rm -rf /etc/my.cnf                       //将原来etc文件夹下的my.cnf文件删除
[[email protected] ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
//通过mysql本身的配置文件模板生成mysql配置文件

3.初始化数据库
为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本 mysql_install_db,指定数据程序目录、数据存放目录。

[[email protected] ~]# /usr/local/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql \                       //指定程序目录
 --datadir=/usr/local/mysql/data/                                       //指定数据目录

4.设置环境变量
为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。

[[email protected] ~]# echo $PATH                        //查看环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
//将mysql可执行命令脚本绝对路径放在环境变量默认的路径中

这种方式临时生效,重启系统将丢失,想要永久生效:

[[email protected] ~]# vim /etc/profile
                          …………     /省略部分内容
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
/usr/local/mysql/bin:/usr/local/mysql/bin
//前面是系统默认路径,请编写最后一条路径
[[email protected] ~]# . /etc/profile
//立即生效,读取配置文件

四.添加为系统服务
若希望添加mysqld系统服务。以便通过systemctl进行管理。首先:

[[email protected] ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
//将mysql源码包的启动服务的脚本复制到安装目录,并改名为mysqld.sh
[[email protected] ~]# chmod +x /usr/local/mysql/bin/mysqld.sh
//赋予执行权限

三种启动mysql的方法(其中两种是添加为系统服务,一种是mysql源码包中提供的服务脚本)

第一种添加为系统服务的方法:

[[email protected] ~]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
//复制mysql服务脚本到指定目录
[[email protected] ~]# vim /etc/init.d/mysqld
//编写配置文件,添加以下两行
#!/bin/bash
# chkconfig: 2345 86 36
                    ………………                   //省略部分内容
[[email protected] ~]# chkconfig --add mysqld
//添加为系统服务
[[email protected] ~]# systemctl start mysqld
//启动服务成功
[[email protected] ~]# netstat -anpt | grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      68867/mysqld
//mysql服务默认的TCP端口是3306
[[email protected] ~]# chkconfig  --level 2345 mysqld on
//设置为开机自启动

第二种添加为系统服务的方法:

[[email protected] ~]# vim /usr/lib/systemd/system/mysqld.service
//创建mysql系统服务的配置文件并编辑
[Unit]
Description=MYSQL Server
After=network.target

[Service]
User=mysql                //指定程序运行的用户账号
Group=mysql               //指定程序运行的组账号

Type=forking
PIDFile=/usr/local/mysql/data/localhost.localdomain.pid   //localhost.localdomain为当前的主机名
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target
[[email protected] ~]# systemctl start mysqld
//启动服务成功,并查看端口信息
[[email protected] ~]# netstat -anpt | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      68867/mysqld
[[email protected] ~]# systemctl enable mysqld
//设置为开机自启动

启动服务时,如果出现错误,建议使用:

[[email protected] ~]# systemctl daemon-reload
//重载服务配置项

这两种方式这里就不多说了,如果有不明白的,可以参考博文CentOS 7 利用Apache搭建Web网站服务,里面有详细的介绍。

第三种方法启动方法

[[email protected] ~]# /usr/local/mysql/bin/mysqld_safe &
//使用mysql服务自带的工具mysqld_safe来启动服务,
//并且放入后台执行,否则会占用前台终端的资源
[1] 69469
[[email protected] ~]# 190718 01:54:05 mysqld_safe Logging to ‘/usr/local/mysql/data/localhost.localdomain.err‘.
190718 01:54:05 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

[[email protected] ~]# netstat -anpt | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      69549/mysqld
[[email protected] ~]# mysqladmin shutdown
//停止服务
[[email protected] ~]# netstat -anpt | grep mysqld

原文地址:https://blog.51cto.com/14157628/2421146

时间: 2024-12-13 15:22:48

CentOS 7 编译安装MySQL数据库系统的相关文章

在CentOS上编译安装MySQL+安装问题解决+安全优化

0.说明 当然,MySQL的安装方法多种多样,在CentOS上,你可以采用YUM的方式安装,这样的好处是:快速方便.基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要YUM执行完成,那么MySQL也就可以使用了. 但我更倾向于使用编译的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助! 但即便是按照官方文档来安装,你也会遇到各种各样的问题,这里,我将呈现一个完整的过程给大家,直到完成下面的

centos 7 编译安装 mysql 及 添加 mysql 到系统服务

首先安装依赖包,避免在安装过程中出现问题 [[email protected] liuzhen]# yum -y install gcc gcc-c++ [[email protected] liuzhen]# yum -y install cmake [[email protected] liuzhen]# yum -y install ncurses-devel [[email protected] liuzhen]# yum -y install autoconf [[email prot

centos 7 编译安装mysql 5.6

在本地装了centos 7的虚拟机,先要装环境,选择的mysql是5.6,以下是安装的过程: 1.下载mysql 5.6包 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz #解压tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz #复制解压后的mysql目录cp -r mysql-5.6.33-linux-gl

CentOS 6.4下编译安装MySQL 5.6.16

一.卸载旧版本MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强力删除.如果使用上面命令删除时,提示有依赖的其他文件,则使用该命令可以对其进行强力删除. rpm -e --nodeps mysql-5.6.16.rpm 2.tar卸载: 1> 删除临时文件: make clean 2> 卸载 make uninstall 3> 删除解压文件 rm  -rf

centos编译安装mysql

centos 源码安装 mysql安装选择的是 Source Code平台的下载版本为 mysql-5.6.23.tar.gz此版本要自己亲自编译,所以最好不过了 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake.org下载源码并编译安装为了方便,把 cmake-NN.tar.gz复制到 /usr/local里如下: tar -xzvf cmake-NN.tar.gz cd cma

CentOS源码编译安装MySQL 5.5.15

CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install gcc gcc-c++ yum install ncurses-devel 下载源码 mkdir -p /tmp cd /tmp wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.15.tar.gz/from/http://mysql.

centos 编译安装mysql

centos 编译安装mysql,请看附件

CentOS下使用cmake编译安装mysql

一.下载安装所必需的依赖包 1.因为高版本mysql都用cmake安装,所以下载cmake wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.gz tar zxvf cmake-3.0.1.tar.gz cd cmake-3.0.1 ./configure make && make install 2.下载其它包 wget http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.gz 安装同上 wge

CentOS 6.6 下源码编译安装MySQL 5.7.5

版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# yum -y install gcc-c++ ncurses-devel cmake make perl \ gcc autoconf automake zlib libxml libgcrypt libtool bison2. 清理环境检查boost版本: # rpm -qa boost*卸载b