centos 7编译安装mysql 5.7.20
1. 下载mysql 5.7.20源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
下载boost -----这个版本的MySQL要求boost的版本是1.59wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
2. 安装mysql依赖包
yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
3. 解压mysql源码包
tar -zxvf mysql-5.7.20.tar.gz
将boost的压缩包移动至解压后的源文件目录内:
mv boost_1_65_1.tar.gz ./mysql-5.7.20
cd mysql-5.7.20
mkdir configure
cd configure
4. 生成编译环境
cmake .. -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/var/mysql/ \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DWITH_BOOST=.. 如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:
rm -rf CMakeCache.txt 如果出现下面的提示就表示成功生成了编译环境:
-- Configuring done
-- Generating done
5. make && make install
编译,安装mysql------在进行cmake后可使用$?---输出0则生成编译环境没问题(其他数字则生成编译环境有问题),make和make install一样可以用$?来判断是否编译和安装成功
6. 开始初始化数据库
(一)、添加mysql用户:
useradd -s /sbin/nologin mysql (二)、新建数据库文件夹及日志文件夹,并更改用户为mysql:
mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log (三)、修改配置文件
vim /etc/my.cnf 将[mysqld]项下的内容替换为:
[mysqld]
port=3306
datadir=/mysql_data
log_error=/var/mysql/log/error.log
basedir=/var/mysql/
(四)、初始化数据库:
/var/mysql/bin/mysqld --initialize --user=mysql
ll /mysql_data/
ll /var/mysql/log/ -----查看是否生成文件
7. 配置启动文件和环境变量
(一)、配置启动文件 1. 从模板文件中复制启动文件:
cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld 2. 修改启动文件:
vim /etc/init.d/mysqld 找到如下二行:
basedir=
datadir= 修改为:
basedir=/var/mysql/
datadir=/mysql_data 3. 启动mysql:
[root@localhost mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 可以看到提示,已经成功启动。当然你也可以使用systemctl来启动MySQL,但执行后,不会有任何提示。
[root@localhost ~]# systemctl start mysqld 设置MySQL开机自动启动:
[root@localhost ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on ------如启动报如下错误
mkdir /var/log/mariadb---->touch /var/log/mariadb/mariadb.log ---->chown -R mysql.mysql /var/log/mariadb
配置MySQL环境变量:
vim /root/.bash_profile 找到下面一行:
PATH=$PATH:$HOME/bin 修改为:
PATH=$PATH:$HOME/bin:/var/mysql/bin
source ~/.bash_profile -----为了不用绝对路劲登录mysql(source修改后立即生效)
8. 修改root用户登录mysql的初始密码
1. 查看root的初始密码
MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:
[root@www configure]# cat /var/mysql/log/error.log | grep 'A temporary'
2018-07-16T02:06:22.271664Z 1 [Note] A temporary password is generated for root@localhost: YA-o:Hr.w90a 最后一行冒号后面的部分YA-o:Hr.w90a就是初始密码。
2. 登录MySQL并修改初始密码:
使用初始密码登录MySQL:
[root@localhost ~]# mysql -uroot -p
Enter password: 登录后立即修改root密码:
mysql> alter user 'root'@'localhost' identified by '密码';
Query OK, 0 rows affected (0.00 sec)
如不修改初始密码是无法使用mysql的.-----如下图
centos 7编译安装mysql 5.7.20的更多相关文章
- CentOS 下编译安装MySQL
CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql #普通删除模式 rpm -e --nodeps mys ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
- 在CentOS上编译安装MySQL 5.7.13步骤详解
MySQL 5.7主要特性 更好的性能 对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的. 更好的InnoDB存 ...
- centos 7 编译安装mysql 详细过程
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- centos 7编译安装mysql 5.7.17
1.进入MySQL官网下载MySQL源代码 依次点击Downloads -> Community -> MySQL Community Server 源代码1.Select Operati ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- CentOS 编译安装 mysql
1.前期准备 1.1 环境说明: 操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ] mysql : mysql-5.6. ...
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
随机推荐
- 『忘了再学』Shell基础 — 9、Bash中的特殊符号(一)
目录 1.双单引号 2.双引号 3.$符号 4.反引号 5.$()符号 6.#符号 7.\符号 1.双单引号 '':单引号.在单引号中所有的特殊符号,如$和"`"(反引号)都没有特 ...
- 内存之旅——如何提升CMA利用率?
(以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 宋远征 李佳伟 OpenAtom OpenHarmony(以下简称"OpenHarmony") ...
- Python 交互式解释器的二三事
学 Python 不知道何时起成了一种风尚.这里,我也随便聊聊跟Python 的交互式解释器的几个有意思的小问题. 如何进入 Python 交互解释器? 当你安装好 Python 后,如何进入 Pyt ...
- 最新Mysql大厂面试必会的34问题
目录 1.mysql的隔离级别 2.MYSQL性能优化 常用5种方式 3.索引详解 1.何为索引,有什么用? 2.索引的优缺点 4.什么情况下需要建索引? 5.什么情况下不建索引? 6.索引的底层数据 ...
- vite创建vue3+ts项目流程
vite+vue3+typescript搭建项目过程 vite和vue3.0都出来一段时间了,尝试一下搭vite+vue3+ts的项目 相关资料网址 vue3.0官网:https://v3.vue ...
- RAID5加热备盘
RAID 5加热备盘 RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失.换句话说,在RAID 10 ...
- Oracle 数据库表删除重复数据
删除重复数据并保留一条 方法一 1.建立临时表,记录重复的数据 create table 临时表 as select a.字段1,a.字段2,max(a.rowid) as dataid from 原 ...
- CoreWCF 1.0.0 发布,微软正式支持WCF
2022年4月28日,我们达到了一个重要的里程碑,并发布了CoreWCF的1.0.0版本.对Matt Connew (微软WCF团队成员)来说,这是5年前即 2017年1月开始的漫长旅程的结束.Mat ...
- Spring Ioc源码分析系列--前言
Spring Ioc源码分析系列--前言 为什么要写这个系列文章 首先这是我个人很久之前的一个计划,拖了很久没有实施,现在算是填坑了.其次,作为一个Java开发者,Spring是绕不开的课题.在Spr ...
- Flutter网络请求和数据解析
一:前言 - 什么是反射机制,Flutter为什么禁用反射机制? 在Flutter中它的网络请求和数据解析稍微的比较麻烦一点,因为Flutter不支持反射机制.相信大家都看到这么一条,就是Flutte ...