(1)官网下载地址:https://dev.mysql.com/downloads/mysql/

此处下载的是 mysql-boost-5.7..tar.gz

百度云下载地址:https://pan.baidu.com/s/1wDAJawz2hUEMbzOVte-bdQ

提取码:gfqo

(2)安装依赖包

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake \
make \
gcc-c++

(3)解压源码包并配置

cd /usr/local/src
tar -zxf mysql-boost-5.7..tar.gz
cd mysql-5.7./
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/usr/local/mysql \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT= \
-DENABLED_LOCAL_INFILE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=boost

以下为上述配置的说明

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装根目录
-DMYSQL_DATADIR=/data//data \ 数据存储目录
-DSYSCONFDIR=/data/ \ 配置文件(my.cnf)目录 (貌似没用,配置文件依然在/etc/my.cnf)
-DWITH_MYISAM_STORAGE_ENGINE= \ 编译myisam存储引擎,默认的存储引擎,不加也可以
-DWITH_INNOBASE_STORAGE_ENGINE= \ 支持InnoDB存储引擎,这个也是默认安装的
-DWITH_MEMORY_STORAGE_ENGINE= \ 支持MEMORY引擎
-DWITH_READLINE= \ 使用readline功能
-DMYSQL_UNIX_ADDR=/data//mysql.sock \ sock存放到/data/3306目录
-DMYSQL_TCP_PORT= \ 数据库端口
-DENABLED_LOCAL_INFILE= \ 可以使用load data infile命令从本地导入文件
-DWITH_PARTITION_STORAGE_ENGINE= \ 安装数据库分区
-DEXTRA_CHARSETS=all \ 支持所有字符集
-DDEFAULT_CHARSET=utf8 \ 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ 设置默认效验字符集排序规则,要和DDEFAULT_CHARSET一起用
-DWITH_BOOST=boost 从MySQL 5.7.5开始Boost库是必需的

(4)编译及安装

make && make install

(5)添加用户和组

groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

(6)初始化

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

注意:初始化完了需要记住root密码

出现以下说明初始化成功
2018-11-12T01:25:29.316210Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-11-12T01:25:30.314274Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-11-12T01:25:30.441468Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-11-12T01:25:30.512508Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d7df9433-e619-11e8-804b-00163e0851f0.
2018-11-12T01:25:30.517175Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2018-11-12T01:25:30.517899Z 1 [Note] A temporary password is generated for root@localhost: _1ahqhzYqtMd

(7)写入环境变量

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

(8)修改配置文件

vim /etc/my.cnf

配置如下:

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
user = mysql
symbolic-links= [mysqld_safe]
log-error = /usr/local/mysql/log-error/mariadb.log
pid-file = /usr/local/mysql/mariadb.pid

(9)创建日志文件并赋予权限

mkdir -p /usr/local/mysql/log-error/
touch /usr/local/mysql/log-error/mariadb.log
chown -R mysql:mysql /usr/local/mysql/log-error/mariadb.log

(10)启动Mysql

/usr/local/mysql/support-files/mysql.server start

(11)设置用户密码及权限

登录mysql:

mysql -u root -p

修改root用户密码:

SET PASSWORD = PASSWORD('');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

授权所有用户:

grant all privileges on *.* to 'root'@'%' identified by '' with grant option;  
flush privileges;

查询数据库的用户:

use mysql;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
quit; #退出mysql命令行

(12)设置为开机自动启动Mysql

vim /etc/rc.d/rc.local

添加标准启动命令:

/usr/local/mysql/support-files/mysql.server start

给/etc/rc.d/rc.local添加可执行权限

chmod +x /etc/rc.d/rc.local

Centos 7下编译安装Mysql的更多相关文章

  1. CentOS Linux下编译安装MySQL

    本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...

  2. CentOS 6下编译安装MySQL 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  3. CentOS 下编译安装MySQL

    CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql   #普通删除模式 rpm -e --nodeps mys ...

  4. CentOS源码编译安装MySQL 5.5.15

    CentOS源码编译安装MySQL 5.5.15   文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...

  5. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  6. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  7. Linux下编译安装MySQL

    一.环境准备yum install -y ncurses-devel libaio-develyum install -y cmake makeuseradd -s /sbin/nologin -M ...

  8. Linux CentOS6.5下编译安装MySQL 5.6

    检查:卸载掉原有MySql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已 ...

  9. Linux(CentOS6.5)下编译安装MySQL Community Server 5.7.12

      组件 官方网站 直接下载地址 备注 mysql http://dev.mysql.com/downloads/mysql/ http://mirrors.sohu.com/mysql/MySQL- ...

随机推荐

  1. 【部分】Asp.Net Mvc 控制器与视图的数据传递

    原文:https://www.cnblogs.com/lsgsanxiao/p/5105639.html 数据传递也就是控制器和视图之间的交互,比如在视图中提交的数据,在控制器怎么获取,或者控制器从业 ...

  2. Django迁移命令无法生成mysql表

    数据库迁移问题:在执行python manage.py makemigrations迁移命令之后,正常输出并生成迁移文件,但执行python manage.py migrate之后显示,No migr ...

  3. BZOJ 4055 Misc

    原题传送门 比较复杂的一道DP. 设两点(i,j)之间最短路为dis[i][j],则 可转化为: 将该式前后分立,可得: 其中,可以单独求出,后面的部分则需要DP. 设为b(x),枚举i,并计算出从i ...

  4. 关于soapui的使用

      打开SoapUI软件,点击File -->NewSoapProject 创建测试项目 输入测试项目名称,点击OK保存 在测试项目上右击选择AddWSDL 输入所需要测试的接口地址,点击ok确 ...

  5. HDFS和MR的配置和使用

    一.分布式HDFS的安装和启动 ①在$HADOOP_HOME/etc/hadoop/core-site.xml文件 <configuration> <property> < ...

  6. 逃学的小孩,树形dp

    先找到题 题意: 中文题,没什么好解释的,也没什么歧义. 分析: 首先我们想一下他的路径将会是怎样的:A-B-C/A-C-B,其实就是求一下min(AB+BC,AC+BC),ABC任选.挺简单,首先证 ...

  7. sql-exists、not exists的用法

    exists : 强调的是是否返回结果集,不要求知道返回什么, 比如:select name from student where sex = 'm' and mark exists(select 1 ...

  8. JavaScript学习 Ⅶ

    十四. DOM(文档对象模型) 节点:Node--构成HTML文档最基本的单元 文档节点:整个HTML文档 元素节点:HTMl文档中的HTML标签 属性节点:元素的属性 文本节点:HTML标签中的文本 ...

  9. 【Linux】Linux常用命令及操作 (一)

    一.Linux简介 二.Linux基础命令 三.工作常用命令 --------------------------------------------------------------------- ...

  10. unity-疑难杂症(一)

    1.使用odin插件序列化,当出现预制体有引用类型的关联, 拖到scene就没关联时,可右键预制体--Reimport解决. 2.类似问题1,脚本组件关联AudioMixer,拖到scene没有关联, ...