1、下载mysql8.0.16源码包和cmake源码包

cd /usr/local/src
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz

cname源码包下载地址:https://cmake.org/download/

我这里下载了一个cmake-3.15.0-rc1.tar.gz

注意mysql的源码包一定不要下错了,下错了会报错:does not appear to contain CMakeLists.txt

2、编译安装cmake

2.1、解压cmake并进入目录

tar zxf cmake-3.15.0-rc1.tar.gz
cd cmake-3.15.0-rc1

2.2、配置、编译、安装

./configure --prefix=/usr/local/cmake
make
make install

--prefix 参数是配置cmake的安装目录

2.3、做cmake命令软连接,查看cmake版本

ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake --version

3、编译安装mysql8,在安装之前需要升级GCC(传送阵:升级gcc

3.1、解压mysql8源码包并进入目录

cd /usr/local/src
tar zxf mysql-boost-8.0.16.tar.gz
cd mysql-8.0.16

3.2、配置、编译、安装(配置编译报错集合)

mkdir bld
cd bld
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/src/mysql-8.0.16/boost \
-DFORCE_INSOURCE_BUILD=1 \
-DCMAKE_CXX_COMPILER=/usr/local/gcc/bin/g++ \
-DDEFAULT_CHARSET=utf8
make
make install

4、创建数据库用户

useradd -s /sbin/nologin mysql

5、创建数据存放目录并修改权限

mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql

6、修改配置文件(根据自己的情况来配置)

[mysqld]
port=3306
server-id=1
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock [client]
socket=/usr/local/mysql/mysql.sock

7、初始化数据库并安装ssl

/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup

8、复制启动脚本、启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start

9、修改mysql密码(忘记密码)

9.1在配置文件中的[mysqld]下加入skip-grant-tables

vim /etc/my.cnf
[mysqld]
skip-grant-tables

9.2重启mysql

/etc/init.d/mysqld restart

9.3登录数据库后,修改密码为空。

mysql
mysql >use mysql;
mysql >update user set authentication_string="" where user='root';
mysql >flush privileges;
mysql > exit;

9.4在配置文件中删除skip-grant-tables并重启mysql

/etc/init.d/mysqld restart

9.5登录mysql,修改密码

mysql -uroot -ppassword
mysql>alter user 'root'@'locahost' identified by 'admin123‘;
mysql>flush provoleges;
mysql>exit;

CentOS7编译安装MySQL8.0的更多相关文章

  1. 源码编译安装MySQL8.0

    源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...

  2. CentOS7离线安装MySQL8.0

    CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...

  3. centos7下安装mysql8.0.12及设置权限

    一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...

  4. CentOS7编译安装Keepalived2.0.19

    实验环境:centos7 节点1:10.15.192.21 节点2:10.15.192.22 vip地址:10.15.192.23 1.下载文件 cd /usr/local/src wget http ...

  5. Centos7下安装MySQL8.0.23-小白的开始

    首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...

  6. centOs7.6安装 mysql-8.0.27

    1.下载mysql 2.连接服务器 3.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包 4.通过 rpm -e mariadb-libs-5.5.68-1.el ...

  7. centos7 二进制安装mysql-8.0.19

    安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 1.检 ...

  8. centos7.5 安装mysql8.0.13

    在Linux系统上使用rpm包管理器安装mysql Installing MySQL on Linux Using RPM Packages 环境:CentOS Linux release 7.4.1 ...

  9. CentOS7.6安装MYSQL8.0

    1.一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadbrpm -qa|grep mariadbrpm -e mariadb-libs --n ...

随机推荐

  1. 使用FunctionalInterface提供工厂方法

    1. 首先提供User类 public class User { private int id; private String name; public User(int id, String nam ...

  2. 从Java中的length和length()开始

    1.在没有IDE自动补齐的情况下,怎样得到数组的长度?怎样得到字符串的长度? int[] arr = new int[3]; System.out.println(arr.length);//leng ...

  3. 不知道Java类文件结构的同学,看这篇文章就够了

    一.前言 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步.经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程 ...

  4. express中redirect传递数据

    redirect中无法跟render一样传递数据 在index中,可以通过session重定向到login 在login.js 中获取req.session,渲染到login.ejs中,最后js获取

  5. HDU4497 GCD and LCM(数论,质因子分解)

    HDU4497 GCD and LCM 如果 \(G \% L != 0\) ,那么输出 \(0\) . 否则我们有 \(L/G=(p_1^{r_1})\cdot(p_2^{r_2})\cdot(p_ ...

  6. 什么是webpack以及为什么使用它

    什么是webpack以及为什么使用它 新建 模板 小书匠  在ES6之前,我们要想进行模块化开发,就必须借助于其他的工具.因为开发时用的是高级语法开发,效率非常高,但很可惜的是,浏览器未必会支持或认识 ...

  7. Windows2008 r2“Web服务器HTTP头信息泄露”漏洞修复

    一.漏洞名称 漏洞名称 漏洞摘要 修复建议 Web服务器HTTP头信息泄露 远程Web服务器通过HTTP头公开信息. 修改Web服务器的HTTP头以不公开有关底层Web服务器的详细信息. 说明:在ii ...

  8. C#单元测试Nunit小结

    1. 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装: 2. 在 ...

  9. Quaternions 四元数

    四元数是一个乱七八糟得到东西还没搞懂搞懂后再补 先添加unity API transform.rotation 是Quaternionlei类并非Vector3向量 不能进行直接转化 那如何将Vect ...

  10. JavaScript基础之--- 深拷贝与浅拷贝

    理解深拷贝和浅拷贝之前,先来看一下JavaScript的数据类型. 1.基本类型和引用类型 //案例1 var num1 = 1, num2 = num1; console.log(num1) con ...