当前位置: 首页 > 编程日记 > 正文

mysql 5.7 编译_Mysql5.7版本编译安装及配置

ab1a742ceb48ddffdb222f9c19c4be03.png

配置yum安装方式

1、配置本地yum源

1 vim /etc/yum.repos.d/rhel-source.repo2 [rhel-source]

3 name=Red Hat Enterprise Linux $releasever - $basearch -Source4 baseurl=file:///mnt5 enabled=1

6 gpgcheck=0

2、清除yum缓存

yum clean all

3、更新yum源

yum update all

yum安装            yum install 软件名

卸载                    yum remove 软件名

安装开源mysql ===mysql5.7.10.tar.gz

安装依赖

yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools wget

1、卸载rpm mysql软件

# rpm -qa |grep mysql

mysql-libs-5.1.73-3.el6_5.x86_64

# yum remove-y mysql-libs-5.1.73-3.el6_5.x86_64

2、新建用户

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# cat /etc/passwd |grep mysql

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

# userdel mysql//删除rpm的用户

useradd-M -s /sbin/nologin mysql

groupadd mysql//添加用户组

useradd-r -g mysql mysql

View Code

3、解压缩

4、配置安装参数

yum -y install cmake

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/boost \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径-DMYSQL_DATADIR=/data/mysql/#数据文件存放位置-DSYSCONFDIR=/etc #my.cnf路径-DWITH_MYISAM_STORAGE_ENGINE=1#支持MyIASM引擎-DWITH_INNOBASE_STORAGE_ENGINE=0#支持InnoDB引擎-DWITH_MEMORY_STORAGE_ENGINE=1#支持InnoDB引擎-DWITH_READLINE=1#快捷键功能(我没用过)-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径-DMYSQL_TCP_PORT=3306#端口-DENABLED_LOCAL_INFILE=1#允许从本地导入数据-DWITH_PARTITION_STORAGE_ENGINE=1#安装支持数据库分区-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk #安装需要的字符集-DDEFAULT_CHARSET=utf8 #默认字符-DDEFAULT_COLLATION=utf8_general_ci #默认字符集-DMYSQL_USER=mysql

参数详解

错误1:error: No curses/termcap

解决办法: # yum install ncurses-devel

5、make  编译

错误2:“../depcomp: line 571: exec: g++: notfound”

解决办法:yum install gcc*

6、make install

错误3:

../include/my_global.h:982: 错误:对 C++内建类型 ‘bool’ 的重声明

make[2]: *** [my_new.o] 错误 1make[2]: Leaving directory `/usr/src/mysql-5.1.49/mysys'make[1]: *** [all-recursive] 错误 1

make[1]: Leaving directory `/usr/src/mysql-5.1.49'make:*** [all] 错误 2解决办法: ./configure加入参数 “--with-unix-socket-path=/tmp/mysql.sock”//指定套接字路径

7、生成mysql的配置文件

# cp support-files/my-medium.cnf /etc/my.cnf

更改配置文件

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

[root@pythonS1 ~]# vim /etc/my.cnf[client]

default-character-set=utf8

port=3306socket=/data/mysql/mysql.sock[mysqld]

character-set-server=utf8

pid-file = /data/mysql/mysql.pidlog-error=/var/log/mysqld.logdatadir=/data/mysql

basedir=/usr/local/mysql

socket=/data/mysql/mysql.sockuser=mysql

# Disabling symbolic-links is recommended toprevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.logpid-file=/mysql/mysql/mysqld.pid

参照配置

经验之谈

由于navicat连接执行速度慢:加入一句:[mysqld] skip-name-resolve

8、初始化mysql数据库

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql

注意:更改为

# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

之前版本mysql_install_db是在$mysql_basedir/script下,5.7放在了$mysql_basedir/bin目录下,并会在将来被移除,转而使用mysqld替代

- -initialize会生成一个随机密码(保存在~/.mysql_secret),而–initialize-insecure不会生成密码

-–datadir目标目录下不能有数据文件

个人表示不喜欢软连接方式,所以直接启动

/usr/local/mysql/bin/mysqld_safe &

3883daa54b9df3c5351af1e395546c4e.png

9、修改属主、属组

chown mysql.mysql -R /data/mysql

chmod+x /usr/local/mysql

chown-R :mysql /var/lib/mysql/

环境变量配置

# vi /etc/profile-- 编辑/etc/profile文件在最后添加如下两行 --PATH=/usr/local/mysql/bin:$PATH

export PATH

# source/etc/profile

10、生成mysql控制服务

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld(以后可以使用/etc/init.d/mysqld restart 命令)

# chmod a+x /etc/rc.d/init.d/mysqld

# chkconfig--add /etc/rc.d/init.d/mysqld //添加为系统服务,目的是为了开机自动启动(以后可以使用chkconfig mysqld on命令)

方法

11、启动mysqld服务

# /etc/init.d/mysqld start

netstat-antp | grep mysqld

12、建立mysql命令的软链接

环境变量PATH

echo $ PATH

# ln-s /usr/local/mysql/bin/*/usr/local/bin/

13、保证其他软件(apache、nginx、php)和mysql可以协同工作

# ln -s /usr/local/mysql/lib/mysql/*/usr/local/lib

# ln -s /usr/local/mysql/include/mysql/* /usr/local/include/

14.修改密码:

A.进入配置文件:/etc/my.cnf[mysqld]skip-grant-tables

default_authentication_plugin = mysql_native_password --》mysql8.0的写法

加入这句

B./usr/local/mysql/bin/mysql进入UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';

FLUSHPRIVILEGES;

验证密码是否成功:select user,host,password from mysql.user;

是否有md5值

create databasedb_test;

C.创建一个新用户用于管理 db_test 数据库insert into mysql.user(Host,User,Password)values("localhost","admin",password("newpassword"));

flushprivileges;

D.赋予权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'python123' WITH GRANT OPTION; # 这句是针对本机的, 以后可以使用127.0.0.1, 然后在下面那句grant all privileges on db_test.* to 'user'@'%' identified by 'newpassword'; %在这里表示%:代表0个一个或多个任意字符,也可以是网段,192.168.10.%等注意加引号

相关文章:

程序员,快通知你们老板上吴恩达的最新AI课

是的,吴恩达老师又出新的 AI 课程了,不愧是劳模中的劳模。新课程的名字叫 AI For Everyone,一听就知道不是特别的技术。因此,本课程也适用于商业人士,帮助他们理解如何建立可持续的 AI 战略。吴恩达老师说了&#xff0…

mysql分组和where条件查询_【MySQL】:分组查询where和having

分组查询之前学习聚合函数,知道聚合函数在默认情况下,将会把所有的记录当成一组,让我们在对列求值,计算时更方便了一些。但是,在某些情况下,我们需要显式地对记录进行分组,使用的是group by [co…

百度研究院再升级,迎来9位世界级科学家

美国时间11月13日,百度研究院在美国硅谷召开会议,宣布百度研究院顾问委员会正式成立,并宣布在2018年陆续迎来9位世界级科学家加盟。 新成立的百度研究院顾问委员会包含5名成员,包括AT&T和贝尔实验室前副总裁及首席科学家Davi…

《Linux From Scratch》第二部分:准备构建 第三章:软件包与补丁- 3.1. 简介

本章列出了一个需要下载的软件包列表,它们用来构建一个基本的 Linux 系统。所列出来的版本号对应着该软件的确定可以正常工作的版本,本书是以它们为基础的。我们强烈反对使用更新一些的版本,因为某个版本能用的编译指令可能并不适用于新版本。…

和老同事的谈话:关于职业生涯以及MDA

应该是bigtall在2007年度的最后一篇了,虽然2007年欠了大家很多帐,但是继续写应该是在2008年的事情了,很多时候非常有想法的东西,真正到落笔的时候,还是会发现欠缺许多东西,所以很多时候犹豫再三&#xff0c…

太嚣张了!会Python的人!

随着计算机语言的发展,Python也跻身于语言排行的常青树。在当下的人工智能浪潮中,Python可以说是C位出道,成功引起了大家的注意。国内不少大公司都已经在使用Python,如豆瓣、搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、热酷…

Oracle笔记 六、PL/SQL简单语句块、变量定义

1、简单SQL语句,HellWorld示例 --输出信息 begin dbms_output.put_line(Oracle Hello World!); end; 2、变量的定义、使用 --定义变量 declare sName varchar2(20); begin sName : jack; dbms_output.put_line(sName); end; --常用类型 declare sNum number(1); sCo…

mysql 5.6 uf8mb4_MySQL5.7升级到8.0过程详解

前言:不知不觉,MySQL8.0已经发布好多个GA小版本了。目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了。本篇文章主要介绍从5.7升级到8.0版本的过程及注意事项,有想…

modules黑名单

http://www.linuxsir.org/bbs/thread321140.html今天刚看了udev的资料,说可以用blacklist禁用掉,写在/etc/modules.d/blacklist中,如:blacklist pcspkrblacklist via_agp更多的内容,还是看udev的资料吧。modules.auto…

基于tcp和udp的socket实现

2019独角兽企业重金招聘Python工程师标准>>> 本文介绍如何用Java实现Socket编程。首先介绍Java针对Socket编程提供的类,以及它们之间的关系。然后分别针对TCP和UDP两种传输层协议实现Socket编程。 1 Java中的Socket编程接口介绍 Java为Socket编程封装了几…

mysql 5.7编译安装重启_mysql5.7源码编译安装

安装mysql前的准备:一、安装依赖的库:yum install gcc-c ncurses-devel perl-Data-Dumper python-devel openssl openssl-devel二、 安装cmake(因为mysql5.7的编译由cmake来实现)安装cmake:cd cmake-2.8.8/预编译和安装:./bootst…

公开课 | 详解CNN-pFSMN模型以及在语音识别中的应用

近年来,在深度学习技术的帮助下,语音识别取得了极大的进展,从实验室开始走向市场,走向实用化。基于语音识别技术的输入法、搜索和翻译等人机交互场景都有了广泛的应用。 Librispeech是当前衡量语音识别技术的最权威主流的开源数据…

属蛇人一生运势

一生总运势 巳年生人,其性稳和才智,好安排进退,甚喜交际。有高尚的品质,受朋友好评,但其内心常有阴毒与忌妒心,致难以保持永久交情,心情易造多疑之虑,而且好色,好与人争论…

mysql邮箱配置文件_SQL-数据库邮箱配置

一、启用数据库邮件手动启用数据库邮件功能,需执行以下脚本:exec sp_configure show advanced options,1RECONFIGUREexec sp_configure Database Mail XPs,1RECONFIGURE With Override二、配置数据库邮件1、启用配置向导如果事先没有手动启用数据库邮件功…

开源可视化日志分析软件-Gource

Gource可以将代码版本控制系统里面的日志全部可视化,也就是说可以看见每个成员在系统里面提交代码的行为,Gource目前支持git、hg、svn。 静态的图片看着不过瘾,下面我将录频的效果(gourcegltail)给大家分享: http://www.tudou.com…

AI入侵机械设计,苦逼的“机械狗”还有未来吗?

作者 | Loren Grush译者 | 刘旭坤编辑 | 非主流出品 | AI科技大本营近几年,机械行业的平均薪资一直被 IT 碾压,更不用说 IT 行业里炙手可热的人工智能。现如今,AI 一路攻城略地,已经深入里很多行业和领域,其中就包括制…

[MySQL FAQ]系列 -- mysql是否支持跨库事务

作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。是可以支持的,例如这么用:start transaction; in…

docker 基本操作Ⅲ

1 数据卷备份恢复 - 我们一般用的最多的是把容器和本地宿主机做目录映射直接存在本地,但是还有一种就是数据卷的备份与恢复,如下就来介绍: 先来一副图来了解一下数据卷的恢复与备份 宿主机也就是我们的服务器分享一个/data/backup/ 目录&…

jquery操作mysql_使用jQuery从数据库访问对象

[{“日期”:“2019-02-10”,“诉状”:1},{“日期”:“2019-02-12”,“诉状”:1},{“日期”:“2019-02-14”,“诉状”:1}]我可以通过Jquery代码轻松地访问它// AJAX Request to get the data by UserID and Week 1$.get(/dashboard/performance?name document.getElementById(…

中国AI专利申请量超美国,百度居国内首位

整理 | 非主流本文数据来自《人工智能技术专利深度分析报告》随着人工智能成为新一轮科技革命和产业变革的重要驱动力量,AI 成为科技企业研发重点,专利申请量也在逐年提升。中国专利保护协会近日发布的《人工智能技术专利深度分析报告》显示,…

MySQL数据库中文模糊检索问题

我在这里谈一下 MYSQL的中文模糊搜索。我的MYSQL版本。version()5.1.22-rc-community-log这里用到的表:Table Create Table ------ -------------------------------------------------------a1 CREATE TABLE a1…

最新Python学习项目Top10!

作者 | Mybridge译者 | Linstancy整理 | Jane出品 | AI科技大本营【导读】过去一个月里,我们对近1000个Python 学习项目进行了排名,并挑选出热度前10的项目。这份清单涵盖了包括Web App, Geospatial Data, Time Paradox, Testing in Python, Crash repor…

理解HTTP消息头【很完整,例子也很丰富】

(一)初识HTTP消息头 但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一…

css样式分类

1.内联式(直接在标签里写属性,属性名为style) 2.内嵌式 (直接嵌入到head标签里面,以标签形式出现,标签名为style) 选择器:用来选择标签 1:用标签选择 2:用ID选择 关键符…

hadoop mysql mybatis_MyBatis简介与配置MyBatis+Spring+MySql

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言…

MySQL中定义fk语句_MySQL基础篇/第3篇:MySQL基本操作语句.md · qwqoo/MySQL-Review - Gitee.com...

### 第3篇:MySQL基本操作语句- MySQL基础操作#### 排序检索数据- 之前的数据没有进行排序,其是按照默认在数据表中的数据返回的- SELECT语句的ORDER BY 子句进行排序mysql# 没有特定的顺序查询 (虽然结果看起来是有序的,是因为数据表中就是这…

如何高效推进ML模型开发和部署?Uber机器学习平台Michelangelo实践

作者 | Jeremy Hermann & Mike Del Balso 译者 | 王天宇 整理 | Jane 出品 | AI科技大本营 【导读】2017年9月,Uber 在技术社区发表了一篇文章向大家介绍了 Uber 的机器学习平台 —— Michelangelo。随着平台的日渐成熟,Uber 的业务数量与能力也随…

Api 函数: GetCursorPos 与转换

//获取鼠标在窗体中的当前位置 procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer); varstr: string; beginstr : Format(%d,%d,[X,Y]);ShowMessage(str); end;//用 GetCursorPos 获取的是鼠标相对与屏幕的位置 varps:…

向下滚动页面导航悬浮

为什么80%的码农都做不了架构师?>>> 做两个导航,第二个隐藏 下拉到一定位置,显示第二个,position:fixed $(function(){$(window).scroll(function () {var top $(document).scrollTop();var m$(".nav")…

胜过iPhone XS?Google Pixel的“夜视功能”是怎样炼成的

作者 | Marc Levoy、Yael Pritch译者 | 刘旭坤整理 | Jane出品 | AI科技大本营【导读】随着智能手机的不断发展成熟,为了寻找差异化的厂商不断增加摄像头的数量。然而,摄像头的数量越多,就代表拍照的质量越好吗?Google Pixel 手机…