文章目录

  • 前言:
  • 环境:
  • 安装前准备:
  • 安装 Cmake、MySQL:
  • Cmake安装:
  • MySQL安装:
  • 1. 源码安装:
  • 2. MySQL初始化:
  • 3.提供配置文件 :
  • 4. 手动启动:
  • 5. 登录MySQL:
  • 6. 做启动项,启动MySQL:
  • 7. 做软连接,方便使用MySQL相关命令:


前言:

在我们实际的生产环境中,我们安装服务通常都是使用yum 直接使用安装,但有些服务需要使用我们自定义的目录,所以yum达不到,我们需要通过源码去安装服务,从而达到自定义的使用条件。下面是Mysql源码安装服务的实例展示。

环境:

安装系统: Centos 7.5
MySQL版本: mysql 5.6
Cmake版本:camke 2.8

安装前准备:

上传安装包
MySQL:mysql-5.6.38.tar.gz
Cmake:cmake-2.8.4.tar.gz

依赖安装

yum -y install gcc gcc-c++ bison ncurses  ncurses-devel boost

安装 Cmake、MySQL:

Cmake安装:

Cmake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。

源码安装Cmake

tar zxf cmake-2.8.4.tar.gz #解压
cd cmake-2.8.4	#切换cmake目录下
./configure	#默认进行文件配置,后面可加参数
make && make install #编译并安装
cmake  -version #查看cmake版本信息

Cmake 也可直接 yum安装

yum -y install cmake
MySQL安装:

创建MySQL用户

useradd mysql

查看原系统是否已经安装,如果安装请卸载。
6系统和7系统的数据库服务名称不同,分别为mysql、mariadb。

rpm -qa | grep mysql或mariadb
有卸载
rpm -e mysql或mariadb
1. 源码安装:
tar zxf mysql-5.6.38.tar.gz #解压
cd mysql-5.6.38 #切换到mysql目录下
cmake . #执行Makefile文件,编译程序,生成可执行文件
make && make install #编译并进行安装
2. MySQL初始化:
chown -R mysql.mysql /usr/local/mysql/ #设置MySQL文件下的属主和属组都为MySQL用户
cd /usr/local/mysql #切换到MySQL目录下
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ 
#初始化目录,user指定使用哪个用户来运行mysql server,basedir,datadir通过db初始化命令更改db存放位置。

注意:再初始化的时候,有可能会出现致命错误:请在执行/usr/local/MySQL/scripts/MySQL _ install _ db之前安装以下Perl模块

FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper

解决方法:

yum -y install autoconf
3.提供配置文件 :
cp support-files/my-default.conf /etc/my.cnf  #把系统默认的文件覆盖掉
4. 手动启动:
cd /usr/local/mysql/support-files/ #切换到mysql启动文件下
./mysql.server start # 启动mysql服务
ps -ef | grep mysql #查看mysql进程
5. 登录MySQL:
cd /user/local/mysql/bin #切换到mysql的bin目录下,bin目录为启动停止目录。
./mysql #执行mysql 进入
6. 做启动项,启动MySQL:
cp /usr/local/msyql/support-files/mysql.server /etc/init.d/mysqld 
# 复制源码安装的mysql服务到系统的启动项中
service mysqld restart #通过启动项重启mysql服务
7. 做软连接,方便使用MySQL相关命令:
ln -s /usr/local/mysql/bin/* /usr/local/bin/ #做软连接
mysql  #直接mysql进入数据库