centos7源码包安装mysql5.7

5.7.20安装方法和5.7.19的一样。

1、安装前准备

清空环境、安装相应的软件包

1>关闭防火墙和SELinux

2>配置yum源(阿里云,centos163等等都行)

#yum -y install cmake
ncurses-devel--如果不安装这两个,后面编译提示错误再安装也可以。

如果系统版本过低需要安装更高版本的cmake才可以完成编译,下载之后

#wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

#tar -xf boost_1_59_0.tar.gz
-C /usr/src/--解压存放的目录随便,但是在后面cmake的时候需要指定这个目录

如果服务器无法联网,则可以在我的百度云下载相关的软件然后发到服务器上面。连接永久有效。

希望完成编译安装的朋友能给个好评。

直接下载这个安装包解压即可,里面包括boost压缩包,解压后有一个mysql5.7.20的文件夹和一个boost的安装包,因为此文是编译安装20的时候更新,所以上传的是20的 安装包。其实步骤是一模一样的。

链接:https://pan.baidu.com/s/1i5u3fzZ 密码:ny7e

2、安装过程(源码包安装)

1》创建相应的用户组和数据目录并且授权(我的环境安装如下)

#useradd mysql--创建mysql用户,如果已经有了就不需要再创建

#mkdir /mysql/etc/
-p--创建安装目录和配置文件存放的目录

2》下载源码包并解压软件到/usr/src(随便一个目录也行)

进入mysql官网:https://dev.mysql.com/

选择Downloads>>MySQL
Community Edition (GPL)>>Community (GPL)Downloads >>MySQL Community Server (GPL)>>download
操作系统:SourceCode
操作系统版本:Generic_Linux

下载:mysql-5.7.19.tar.gz(或者其他版本)

#tar -xf mysql-5.7.19.tar.gz
-C /usr/src/--解压安装包到/usr/src/目录下面

如果mysql下面没有my.cnf文件则创建/mysql/etc/文件来存放my.cnf文件,也可以直接在/mysql目录下面创建my.cnf配置文件

3》创建编译脚本

#cd
/usr/src/mysql-5.7.19/

#vim
cmake.sh

#!/bin/bash

cmake. \

-DCMAKE_INSTALL_PREFIX=/mysql \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DSYSCONFDIR=/mysql/etc \

-DMYSQL_UNIX_ADDR=/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DDOWNLOAD_BOOST=1
\

-DWITH_BOOST=/usr/src
\
--如果不加这两行则下面会报错,你再添加也行,这是boost存放的路径

-DMYSQL_USER=mysql

执行脚本:

#bash cmake.sh

可能出现的错误1:

CMakeError at cmake/boost.cmake:81
(MESSAGE):

Youcan download it
with-DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

ThisCMake script
will look for boost in <directory>. If it is notthere,

..........

..........

CallStack (most recent
call first):

cmake/boost.cmake:238(COULD_NOT_FIND_BOOST)

CMakeLists.txt:491(INCLUDE)

--Configuring incomplete,
errors occurred!

Seealso "/usr/src/mysql-5.7.19/CMakeFiles/CMakeOutput.log".

Seealso "/usr/src/mysql-5.7.19/CmakeFiles/CmakeError.log".

原因:没有找到boost路径,mysql5.6之后需要添加下面两个参数,现在安装5.7,则需要下载boost,然后解压到相应的路径。

解决:在脚本里面添加下面两行

-DDOWNLOAD_BOOST=1\

-DWITH_BOOST=/usr/src\

下载解压boost到/usr/src/(第1步安装前准备有说,可以回去看)

可能出现的错误2:找不到cmake的命令。

原因:没安装cmake软件。

解决:编译安装

编译安装cmake
1)下载cmake-2.8.12.2.tar.gz 网址:https://cmake.org/files/v2.8/
2)解压tar zxvf cmake-2.8.12.2.tar.gz
3)编译安装
cd cmake-2.8.12.2
./bootstrap
gmake
gmake install

4)安装完成之后,需要指定编译器cmake的命令位置。即:

vim cmake.sh
#!/bin/bash
/data/cmake-2.8.12.2/bin/cmake . \
--指定cmake的位置
-DCMAKE_INSTALL_PREFIX=/data/mysql/mysql \
.............

cmake错误之后需要删除已经生存的缓存文件:

#rm -rf CmakeCache.txt

#bash cmake.sh--重新执行脚本

提示下面的信息则算安装成功:

CMakeWarning:

Manually-specifiedvariables were not used by
the project:

MYSQL_USER

--Build files have been written to: /usr/src/mysql-5.7.19

4》安装mysql,先编译,后安装

#make--编译时间会很长

#make install

3、安装后配置

1>手动编写my.cnf配置文件

#vim /mysql/my.cnf

[mysqld]

port=3306

dasedir=/mysql

datadir=/mysql/data

socket=/mysql/mysql.sock

user=mysql

[client]

socket=/mysql/mysql.sock----告诉client端登录进来去哪里找sock文件

2>创建相关用户及目录,并修改权限

3>初始化数据库

#./bin/mysqld
--initialize --user=mysql –datadir=/mysql/data

如果直接用上面这条命令将不会报下面的错误。5.6初始化命令为./bin/mysql_install_db--user=mysql,5.7的mysql_install_db文件在bin目录下,但是5.7将不再使用这个文件初始化数据库,而是使用mysqld–initialize代替。

成功之后会提示下面的信息:其中hcs5iEKHnq!I为数据库初始化密码。

.................

017-09-27T01:39:09.384918Z0
[Warning] Gtid table is not ready to be used. Table'mysql.gtid_executed' cannot be opened.

2017-09-27T01:39:09.405254Z1
[Note] A temporary password is generated for root@localhost:hcs5iEKHnq!I

可能出现的问题1

[ERROR]
The data directory needs to be specified.

原因:没有指定date目录

解决:./bin/mysql_install_db--user=mysql
–datadir=/mysql/data

再次初始化之后可能出现的问题2

[ERROR]
The data directory '/mysql/data' already exist and is not empty.

解决:删除data文件,重新创建,并给与mysql权限

cd /mysql

rm
-rf data

mkdir data

chown -R mysql. data

可能出现的问题3

[ERROR]Thebootstrap
log isn't empty:

Errormessage
file '/usr/share/mysql/english/errmsg.sys' had only 886 errormessages,

原因:可以看到mysql_install_dbis
deprecated,说不赞同使用mysql_install_db,推荐使用的方法是:Pleaseconsider
switching to mysqld --initialize ,Pleaseconsider using --initialize instead

解决:#./bin/mysqld --initialize
--user=mysql --datadir=/mysql/data

4>启动服务

将suport文件下面的启动文件拷贝到启动目录下面,并修改启动文件

#cd /mysql

#cp support-filescd/mysql.server
/etc/init.d/mysql

#vim /etc/init.d/mysql

basedir=/mysql

datadir=/mysql/data

#systemctl start
mysql

可能出现的问题:

Failedto start mysql.service:
Unit not found.

原因:找不到服务

解决:

#systemctl
enable mysql

mysql.serviceis not
a native service, redirecting to /sbin/chkconfig.

Executing/sbin/chkconfig
mysql on --提示运行下面命令

#/sbin/chkconfig
mysql on

再次启动mysql

#systemctl
start mysql

5>登录

#mysql
-u root -S /mysql/mysql.sock -p'hcs5iEKHnq!I' --密码-p必须加单引号:-p'密码',或者利用交互式输入密码进入

注意:如果不能用mysql命令登陆的话可以执行下面操作,并且下面命令为5.6版本的,5.7我安装成功后直接就可以用mysql命令登陆。所以没有尝试下面的操作。

#cd /mysql

#bin/mysql--登录mysql

#cp bin/mysql /usr/local/bin/--将命令复制到系统命令目录下面,可以直接使用mysql登录

#which mysql--查看命令所在目录,如果查看到则可以用mysql登录

祝你安装5.7.19mysql顺利成功!

centos7源码安装mysql5.7.19的更多相关文章

  1. 64位CentOs7源码安装mysql-5.6.35过程分享

    首先安装依赖包,避免在安装过程中出现问题 [root@bogon liuzhen]# yum -y install gcc gcc-c++[root@bogon liuzhen]# yum -y in ...

  2. 在CentOs7源码安装mysql-5.6.35单实例数据库

    首先安装依赖包,避免在安装过程中出现问题 [root@bogon liuzhen]# yum -y install gcc gcc-c++[root@bogon liuzhen]# yum -y in ...

  3. Centos7源码安装MySQL5.7

    a.连接数据库报111 从一台linux远程连接另一台linux上的MySQL,出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx. ...

  4. CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建  mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...

  5. CentOS7(Linux)源码安装MySQL5.7.X

    介绍 软件应用最重要的就是数据库了,可是还有小伙伴不会在Linux上安装MySQL数据库,今天就来讲讲如何在CentOS7环境使用源码进行安装MySQL5.7.X. MySQL官网下载链接:https ...

  6. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

  7. centos7源码安装Python3的前提条件

    centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...

  8. lnmp之阿里云源码安装mysql5.7.17

    mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...

  9. CentOS6.5源码安装MySQL5.6.35

    CentOS6.5源码安装MySQL5.6.35 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [root@localhost tools]# rpm -qa|grep -i mysql ...

随机推荐

  1. LGP5824口胡

    万 恶 之 源 十 二 重 计 数 法 先鸽子了 球有序,盒子有序 答案明显为 \(m^n\). 球有序,盒子有序,每个盒子最多放一个 答案明显为 \(\binom{m}{n}n!\). 球有序,盒子 ...

  2. CentOS 5.11源修改

    CentOS 5.11源 将源中所有网址替换为 http://archive.kernel.org/centos-vault/你的版本/ 一条sed命令即可解决 sed -i 's@http://xx ...

  3. 创建一个 20G 的分区,并格式化为 ext4 文件系统

     创建一个 20G 的分区,并格式化为 ext4 文件系统,并完成如下要求: (1)block 大小为 2048,预留空间 20%,卷标为 MYDATA #fdisk /dev/sdb -->n ...

  4. python在json文件中提取IP和域名

    # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import re def openjson(path): f = open(pat ...

  5. python练习册 每天一个小程序 第0012题

    # -*-coding:utf-8-*- def test(content): text = content flag = 0 with open('filtered_words.txt') as f ...

  6. 数据库上云实践:使用Ora2pg进行数据库迁移

    目录 概述 重要 前置条件 配置环境 Win环境配置 linux环境配置 定义ORACLE_HOME环境变量 Ora2Pg使用方法 配置文件ora2pg_table.conf 配置文件解释:Oracl ...

  7. Blazor 003 : Razor的基础语法

    上文,我们通过剖析一个最简单的 Blazor WASM 项目,讲明白了 Razor 文件是什么,以及它被转译成 C#后长什么样子.也介绍了 Razor 中最简单的一个语法:Razor Expressi ...

  8. Golang中常用的代码优化点

    Golang中常用的代码优化点 大家好,我是轩脉刃. 这篇想和大家聊一聊golang的常用代码写法.在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经验.这些经验是代表你 ...

  9. 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?

    清屏:clear 退出当前命令:ctrl+c 彻底退出 执行睡眠 :ctrl+z 挂起当前进程 fg 恢复后台 查看当前用户 id:"id":查看显示目前登陆账户的 uid 和 g ...

  10. Aspect 切面?

    AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能.比如,一个日志模块可以被称作日志的AOP切面.根据需求的不同,一个应用程序可以有若干切面.在Spring ...