源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)

最近在CentOS 7中源码安装MySQL 5.7.16,发现MySQL5.7.6+以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀。不自己安装一把,下面这篇文章是通过自己的安装过程总结的一篇安装教程,有需要的朋友们可以参考借鉴,下面来一起看看吧

配置说明

Linux版本:Centos7

MySQL版本:MySQL5.7.16

该文档适用于MySQL版本>=5.7.6

一、首先检查你所用的Linux下有没有安装过mysql,有没有卸载干净,卸载CentOS7默认携带的mariadb包

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 #检查mariadb安装包

2 [root@wing ~]#rpm -qa | grep -i mysql

3 [root@wing ~]#rpm -qa | grep -i mariadb

4 mariadb-libs-5.5.50-1.el7_2.x86_645 #卸载查找到的mariadb安装包

6 [root@wing ~]#rpm -e mariadb-libs-5.5.50-1.el7_2.x86_647 #注:如上命令删除不成功,有别的软件依赖无法删除时,如下操作:

8 [root@wing ~]#yum remove mariadb-libs-5.5.50-1.el7_2.x86_64

View Code

二、获得MySQL所有版本(5.0.15-latest)地址,并下载源文件MySQL5.7 需要安装 boost库文件

9d3373ab6821ed0099def9eae731a755.png

2. 创建并进入源码存放目录:mkdir  /home/source

3. 下载源码并清除 centos 原有my.cnf配置文件:

1 wget https://downloads.mysql.com/archives/get/file/mysql-5.7.16.tar.gz2 mv /etc/my.cnf /etc/mysql.cof.back

三、安装编译软件和依赖

#首先更新系统软件

# yum update

四、创建MySQL安装目录

五、创建mysql用户和用户组

六、创建MySQL相关目录

| 目录 | 含义 | 配置参数 |

| :——— | ————————————– | —————————————- |

| bin_log | 二进制日志目录 | log_bin_basename

log_bin_index |

| mydata | 数据文件目录 | datadir |

| innodb_log | InnoDB重做日志目录 | innodb_log_group_home_dir |

| innodb_ts | InnoDB共享表空间目录 | innodb_data_home_dir |

| log | 日志文件目录(error log+general log+slow log) | log_error

general_log_file

slow_query_log_file |

| relay_log | InnoDB中继日志目录 | relay_log_basename

relay_log_index |

| tmpdir | 临时文件目录 | tmpdir |

| undo_log | InnoDB回滚日志目录 | innodb_undo_directory |

七、创建的目录的所属用户与所属组为mysql:mysql

注1 chown -R mysql:mysql /home/mysql/data2 chown -R mysql:mysql /usr/local/web/mysql

八,解压MySQL源码包

九,编译安装MySQL5.7.6+

注:如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:

rm -rf CMakeCache.txt

如果安装报错:tar -zxvf boost_1_59_0.tar.gz 无法解压 请下载可用文件:

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

同时cmake 选项:

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/boost

改成:

-DWITH_BOOST=/usr/local/boost/boost_1_59_0.tar.gz

重新Cmake。

如果出现下面的提示就表示成功生成了编译环境:

-- Configuring done

-- Generating done

1 #cmake参数解释如下:

2

3 DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径4

5 DMYSQL_DATADIR=/data/mysql:数据文件存放位置6

7 DSYSCONFDIR=/etc:my.cnf路径8

9 DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎10

11 DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎12

13 DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径14

15 DMYSQL_TCP_PORT=3306:端口16

17 DENABLED_LOCAL_INFILE=1:允许从本地导入数据18

19 DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区20

21 DEXTRA_CHARSETS=all:安装所有的字符集22

23 DDEFAULT_CHARSET=utf8:默认字符24

25 DWITH_EMBEDDED_SERVER=1:嵌入式服务器

十,设置开机自启动:

十一,初始化MySQL:

初始化注意事项:

1.如果出现如下信息:unknown variable'defaults-file=/data/mysql/my.cnf',请保证--defaults-file配置选项在最前面。

2.初始化最后一行是root用户密码(root@localhost: ,5j1Qj_LLAek)如图:

374e28e3b01633ae760e0fb3c5855e10.png

十二,启动MySQL服务:

1. 添加MySQL环境变量

2. 启动MySQL

mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file参考:http://blog.51cto.com/732233048/1636409,启动不成功,修改my.cnf后需要重新初始化

十三,登陆MySQL并修改密码

十四,关闭MySQL:

十五,启动MySQL远程访问:

1. 防火墙开启3306端口:firewall-cmd --add-port=8001/tcp --permanent(永久生效)

十六,MySQL5.7 和以前版本不同点:

1.初始化工具不同

MySQL5.6.xx使用的是mysql_install_db,MySQL5.7.6+官方推荐使用mysqld –initialize。

2.初始化数据库不同

MySQL5.6.xx初始化之后存在mysql,information_schema,performance_schema,test四个数据库,MySQL5.7.6+初始化之后存在mysql,information_schema,performance_schema,sys四个数据库。

3.初始化用户不同

MySQL5.6.xx初始化之后存在root@localhost,root@'::1',root@'hostname',''@'localhost',''@'hostname'五个用户,MySQL5.7.6+初始化之后存在mysql.sys,root@localhost用户

4.初始化root密码

MySQL5.6.xx初始化之后root用户密码为空,MySQL5.7.6+初始化之后会为root@localhost用户生成随机密码。

十七,MySQL安装常用参考文档:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css动画定义,CSS3中Animation动画的定义和调用

现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到。接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyframes,英文意思就是关键帧&#x…

mysql5.7+proxy_mysql 5.7+mysql-proxy 0.8.5 读写分离

主从环境:mysql操做系统:CentOS6.5_x64linux主服务器Master:192.168.0.103sql从服务器Slave:192.168.0.105后端调度服务器MySQL-Proxy:192.168.0.104服务器1、mysql主从复制tcp2、mysql-proxy实现读写分离测试一、安装…

mysql 账户管理_Mysql账户管理原理与实现方法详解

本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考,具体如下:账户管理在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行…

navicat for mysql 用户_Navicat for MySQL 怎么/怎么添加管理用户?Navicat for MySQL 添加管理用户教程_37游游网...

【37游游攻略】为了保证数据库的安全,对操作用户分级授权是非常有必要的,Navicat for MySQL 给我们提供了一个非常强悍又非常便捷的用户管理系统。点击位于连接右侧的用户命令,随之弹出管理用户的界面,Navicat for MySQL 系统默认…

js如何上传大文件到服务器,js将文件上传到远程服务器

js将文件上传到远程服务器 内容精选换一换将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式。本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云服务器的操作方法。Windows云服务器可以访问公网。在本地Windows计算机上&#xff0c…

增强服务器安全性能,加强Linux服务器安全的20项建议

很多人都说 Linux 在默认配置下很安全,我在一定程度上同意这个说法(很值得商榷的话题)。不过 Linux 内置的安全模型和工具做得确实很到位,用户只需进行简单的调整和自定义就可以加强 Linux 服务器安全。与恶意用户做斗争对于所有 Linux 系统管理员来说都…

阴阳师师徒系统不同服务器,阴阳师体服师徒系统未收录改为随机SSR

昨天下午,受到很多争议的体服“师徒系统”更新啦!新版的“师徒系统”修改了徒弟的条件,总的来说能剔除压级大佬,并且之前奖励未收录SSR降低为随机SSR式神,难怪很多阴阳师都说:“大快人心!”的确…

Mysql union联合查询_Mysql联合查询union和union all的使用介绍

一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION…

ios 查看同文件名_实战恢复cisco 2950交换机的IOS

本来想用两台思科交换机做实验的,可是通过console口进入其中一台交换机后却发现这个台交换机的IOS文件丢失了。本来正常进入交换机后应该是首先进入到用户模式的,而且提示符应该是“>”,而现在提示符却成了“:”,如…

repositoryitemlookupedit根据每行的id绑定数据_一种根据数据库自增ID生成唯一ID的解决方案...

在我们的开发过程中,经常会遇到ID生成的问题,那么这里就介绍一种解决方案,注意这里只适合混淆ID规则,也就是说生成的ID没有任何规则,不适用于订单ID。一般有序自增主键的ID,极易被爬虫抓取数据,…

bootstracp实现树形列表_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性...

实现负载均衡是后端领域一个重要的话题,一致性哈希算法是实现服务器负载均衡的方法之一,你很可能已在一些远程服务框架中使用过它。下面我们尝试一下自己实现一致性哈希算法。一. 简述一致性哈希算法这里不详细介绍一致性哈希算法的起源了,网…

系统分析师和系统架构设计师难度比较_系统架构设计师,马上开课了!

一年只考一次的系统架构设计师7月7日通关指南开课系统架构设计师考试,是2009年11月计算机资格考试新增专业,这个级别属于高级资格考试。与该考试同级别的还有系统分析师、信息系统项目管理师、系统规划与管理师以及网络规划设计师。系统架构设计师每年考…

pythonhelloworld实例_Python基于Tkinter的HelloWorld入门实例

本文实例讲述了Python基于Tkinter的HelloWorld入门实例。分享给大家供大家参考。具体分析如下:初学Python,打算做几个Tkinter的应用来提高。刚学的HelloWorld,秀一下。我用Python3.2的,Windows版本的。源代码如下: #导…

tensorflow提取mel谱特征_【脑电信号分类】脑电信号提取PSD功率谱密度特征

点击上面"脑机接口社区"关注我们更多技术干货第一时间送达本文是由CSDN用户[frostime]授权分享。主要介绍了脑电信号提取PSD功率谱密度特征,包括:功率谱密度理论基础、matlab中PSD函数的使用介绍以及实验示例。感谢 frostime!1. 序…

从mysql中取出代理ip_GitHub - lican09/IPProxyTool: 抓取大量免费代理 ip,提取有效 ip 使用...

IPProxyTool使用 scrapy 爬虫抓取代理网站,获取大量的免费代理 ip。过滤出所有可用的 ip,存入数据库以备使用。可以访问我的个人站点,查看我的更多有趣项目 awolfly9个人项目欢迎加微信吐槽如果在使用中有任何疑问,或者项目中有任…

docker卸载 windows版本_DevOps系列 006 - Docker安装

这是DevOps系列的第六节,我们开始安装DockerDebian 上安装可以基于最新debian10的发行版,我现在还用着debian9,不过随后,我会发出Windows / macOs / Ubuntu的参考。安装如果您已经是root用户,则无需使用sudo1、卸载任何…

tab vue 竖排_vue 实现tab切换保持数据状态

页面做tab切换,由于组件每一次切换都会重新实例化组件,我们想要页面不论怎么切换都仍然保持tab里面的内容不会刷新,减少页面重新渲染以及减少请求实现方法:使用包裹组件 列表页面跳转详情 ,列表页面保持上一次操作状态…

multisim连接MySQL_首次使用Multisim软件进行电路仿真设计

第一次接触使用Multisim进行电路仿真设计,通过使用这款软件,从中也学习到了很多东西,在这里想简单介绍一下这款软件的最主要也是最重要的功能和特点。创建电路,必定要放置元器件,这就需要用到元器件工具栏,…

mysql到pg怎么高效_干货 | Debezium实现Mysql到Elasticsearch高效实时同步(示例代码)

题记来自Elasticsearch中文社区的问题——MySQL中表无唯一递增字段,也无唯一递增时间字段,该怎么使用logstash实现MySQL实时增量导数据到es中?logstash和kafka_connector都仅支持基于自增id或者时间戳更新的方式增量同步数据。回到问题本身&a…

java thread safe_Java 线程安全 Thread-Safety

在 Java 的线程安全是老生常谈的问题。经常是各种写法说法一大堆,感觉很多的来源都是在面试的时候,很多考官都喜欢问线程安全的问题。起源这个问题的起源就是 Java 是支持多线程的。如果对进程和线程是什么不太清楚的话,可以恶补下大学课程《…