一、RPM版安装

查看是否有其他版本的数据库,若有,删除干净

非root用户必须要有sudo权限

1.下载mysql相关安装包

  1. https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-server-8.0.18-1.el7.x86_64.rpm
  2.  
  3. https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-libs-8.0.18-1.el7.x86_64.rpm
  4.  
  5. https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-common-8.0.18-1.el7.x86_64.rpm
  6.  
  7. https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-client-8.0.18-1.el7.x86_64.rpm

2.其他依赖(可以先跳过该步,看后面安装mysql时缺少什么依赖就安装什么依赖)

  1. 到该网址下去寻找gccgcc-c++、opensslperl及其依赖包
    https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3.安装mysql(未报错则表示安装成功)并创建mysql用户

  1. 创建mysql用户
  2. sudo useradd mysql -s /sbin/nologin

4.自定义配置mysql(如果不想改变mysql的默认相关目录,跳至第6步)

  1. 修改Mysql默认的配置文件内容
    sudo vi /etc/my.cnf
    删除所有内容,加入以下内容:
    [mysqld]
  2. user=mysql
  3. port=
  4. datadir=/app/mysql/data
  5. socket=/app/mysql/mysql.sock
  6.  
  7. log-error=/app/mysql/log/mysqld.log
  8. pid-file=/app/mysql/mysqld.pid
  9.  
  10. [client]
  11. socket=/app/mysql/mysql.sock

5.创建配置文件中的相关目录并修改权限

  1. sudo mkdir /app/mysql/data /app/mysql/log -p
  2.  
  3. sudo chown mysql:mysql /app/mysql -R

6.初始化mysql

7.启动mysql

若启动出错:

a.请查看mysql相关目录的所属用户和所属组是否是mysql

b.请查看selinux是否关闭:执行sudo getenforce得到的结果若不是Permissive,执行命令:sudo setenforce 0

c.查看端口是否被占用

d.若还是无法启动:请查看mysql错误日志以及sudo systemctl status mysqld或者journalctl -xe

8.登录mysql

  1. 查看Mysql的初始密码(root@localhost:后面的就是初始密码)
  1. sudo cat /app/mysql/log |grep root@localhost (做过第4步使用该命令)
    sudo cat /var/log/mysqld.log|grep root@localhost (未做过第4步使用该命令)
  2.  
  3. 登录mysql,复制上面的密码
    mysql -p

9.修改mysql密码(初次登录必须修改密码,否则无法使用mysql命令)

  1. alter user 'root'@'localhost' identified by '你的密码';

二、源码版安装

非root用户必须要有sudo权限

1.下载相关源码包

  1. https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
  2. https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.2.0.tar.xz
  3. https://mirrors.tuna.tsinghua.edu.cn/gnu/m4/m4-latest.tar.gz
  4. https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gz
  5. https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz
    https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.19.tar.gz
    http://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
    https://down.24kplus.com/linux/cmake/cmake-3.16.2.tar.gz

2.安装低版本的gcc、gcc-c++(必须要做,否则升级gcc安装m4/gmp/mpfr/mpc时configure会报错:configure: error: no acceptable C compiler found in $PATH)

  1. 到该网址下寻找gccgcc-c++及其依赖包(能连外网的可以直接使用命令:sudo yum -y install gcc gcc-c++)
    https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3.安装源码版cmake

  1. 必须安装opensslopenssl-devel依赖,下载网址同上,否则bootstrap会报错:找不到openssl(能连外网的可以直接使用命令:sudo yum -y install openssl openssl-devel)
  2.  
  3. tar cmake-3.16.1.tgz
  4. cd cmake-3.16.1
    sudo ./bootstrap
    sudo make
    sudo make check
    sudo make install

4.升级gcc、gcc-c++

a.安装m4

  1. tar -xzvf m4-latest.tar.gz
    cd m4-1.4.17/
    sudo ./configure --prefix=/usr/local(--prefix指定安装路径)
    sudo make (编译)
    sudo make check (检查编译是否有错,注意是否有Error,可以不做)
    sudo make install (安装)
  2.  
  3. m4 --version (查看m4版本)

正确安装后可以看到如下结果

b.安装gmp

  1. sudo ln -s /usr/local/bin/m4 /usr/bin (把m4做一个软连接到此路径下,否则configure时会报错:checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).)
    tar -xvf gmp-6.2.0.tar.xz
    cd gmp-6.2.0
    sudo ./configure --prefix=/usr/local/gmp-6.2 (非管理员必须要sudo,否则会报错:Permission denied)
    sudo make
    sudo make check
    sudo make install

c.安装mpfr

  1. tar -xzvf mpfr-4.0.2.tar.gz
  2. cd mpfr-4.0.2
  3. sudo ./configure --prefix=/usr/local/mpfr-4.0 --with-gmp=/usr/local/gmp-6.2 (--with-gmpgmp的安装目录)
  4. sudo make
  5. sudo make check
  6. sudo make install

d.安装mpc

  1. tar -xzvf mpc-1.1.0.tar.gz
  2. cd mpc-1.1
  3. sudo ./configure --prefix=/usr/local/mpc-1.1 --with-gmp=/usr/local/gmp-6.2 --with-mpfr=/usr/local/mpfr-4.0
  4. sudo make
  5. sduo make check
  6. sudo make install

e.加入库文件(/usr/local/mpfr-4.0/lib/必须加入库文件,其他两个可以不做,否则安装升级gcc编译时会报错:error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory)

sudo vi /etc/ld.so.conf
   /usr/local/mpfr-4.0/lib/

/usr/local/gmp-6.2/lib

/usr/local/mpc-1.1/lib

sudo ldconfig (使上面的操作生效)

或者做软连接

sudo ln -s /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin

或者复制

sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/

f.安装其他依赖(系统未安装依赖包时,必须要装,否则升级gcc编译时会报错:mpc.h:没有那个文件或目录)

  1. 下载gmp-devellibmpc-devel及其依赖包(能连外网的可以直接使用命令:sudo yum -y install gmp-devel libmpc-devel)
    https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-6.0.0-15.el7.x86_64.rpm
  2. https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-devel-6.0.0-15.el7.x86_64.rpm
  3. https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-1.0.1-3.el7.x86_64.rpm
  4. https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-devel-1.0.1-3.el7.x86_64.rpm
  5. https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-3.1.1-4.el7.x86_64.rpm
  6. https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-devel-3.1.1-4.el7.x86_64.rpm
  7.  
  8. 若还有依赖包需下载,请到https://mirrors.tuna.tsinghua.edu.cn自行下载

g.升级gcc

  1. tar -xzvf gcc-9.2..tar.gz
  2. cd gcc-9.2.0

sudo ./configure --prefix=/usr/local/gcc-9.2 \
  --enable-bootstrap\
  --enable-checking=release \
  --enable-languages=c,c++ \
  --enable-threads=posix \
  --disable-checking\
  --disable-multilib\
  --enable--long-long\
  --with-gmp=/usr/local/gmp-6.2\
  --with-mpfr=/usr/local/mpfr-4.0\
  --with-mpc=/usr/local/mpc-1.1

  1. sudo make (编译时间较长,1个小时的样子)
  2. sudo make check
  3. sudo make install
  1. 务必卸载低版本的gccgcc-c++
    sudo rpm -e gcc-c++
    sudo rpm -e gcc
  2.  
  3. sudo vi /etc/profile export PATH=$PATH:/usr/local/gcc/bin
  4.  
  5.   source /etc/profile
  1. 查看gcc版本号
    gcc --version

5.安装源码版mysql

  1. 安装ncurses-devel依赖,否则cmake报错:Curses library not found.Please install appropriate package(能连外网的可以直接使用命令:sudo yum -y install ncurses-devel,不能连上外网的下载地址同第2步一样)
  1. tar -xzvf mysql-8.0.19.tar.gz
  2. cd mysql-8.0.19

cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql\
 -DDEFAULT_CHARSET=utf8\
 -DDEFAULT_COLLATION=utf8_general_ci\
 -DENABLED_LOCAL_INFILE=ON\
 -DWITH_SSL=system\
 -DMYSQL_DATADIR=/app/mysql/data\
 -DSYSCONFDIR=/app/mysql/config\
 -DMYSQL_TCP_PORT=3306\
 -DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock\
 -DWITH_BOOST=/home/mcbadm/mysql8/\
 -DFORCE_INSOURCE_BUILD=1

  1. 以上参数介绍如下(简单的参数,更详细参数请参考https://blog.51cto.com/laowafang/1294964):
    -DCMAKE_INSTALL_PREFIX:安装目录
    -DDEFAULT_CHARSET:设置字符集
    -DDEFAULT_COLLATION:设置排序规则
    -DENABLED_LOCAL_INFILE=ON:启用本地数据导入支持
    -DWITH_SSL=system:启用ssl库支持

    -DMYSQL_DATADIR:数据文件目录,可任意
    -DSYSCONFDIR:配置文件目录,可任意
    -DMYSQL_TCP_PORT:mysql监听的TCP端口
    -DMYSQL_UNIX_ADDR:mysql.sock路径,可任意
    -DWITH_BOOST:boost源码包所在目录
    -DFORCE_INSOURCE_BUILD:强制建立未存在的资源目录
  1. cmake若报错,请找到原因解决后删除CMakeCache.txt再次cmake
  2.  
  3. sudo rm -rf /usr/lib64/libstdc++.so.6* (删掉所有低版本c++的库文件)
    sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (把新安装的高本版c++库文件加入到系统库文件中)
    sudo make (需要大概1小时)
  4. sudo make install

6.编写配置文件,建立目录并授权

  1. sudo mkdir /app/mysql/config
    sudo cd /app/mysql
  2.  
  3. sudo vi config/my.cnf
    加入以下内容:
    [mysqld]
  4. user=mysql
  5. port=
  6. datadir=/app/mysql/data
  7. socket=/app/mysql/mysql.sock
  8.  
  9. [mysqld_safe]
  10. log-error=/app/mysql/logs/mysql-err.log
  11. pid-file=/app/mysql/mysql.pid
  12.  
  13. [client]
  14. socket=/app/mysql/mysql.sock

sudo useradd mysql -s /sbin/nologin

sudo mkdir -p  /app/mysql/logs

sudo touch /app/mysql/logs/mysql-err.log

sudo chown -R mysql.mysql /app/mysql

7.初始化并登陆修改密码

  1. 初始化
  2. sudo /app/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql (无初始密码的,若想要初始密码,使用--initialize)
  3.  
  4. 启动
  5. sudo /app/mysql/support-files/mysql.server start
  6.  
  7. 登陆(若无初始密码直接回车即可)
  8. sudo /app/mysql/bin/mysql -p
  9.  
  10. 修改密码
    alter user 'root'@'localhost' identified by '密码';

linux centos7安装mysql8的更多相关文章

  1. CentOS7 安装 mysql8

    本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 ...

  2. Linux Centos7配置mysql8.0数据库

    本文转至:672530440 在此感谢博主,撒花!!! 本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Na ...

  3. Linux CentOS7 安装 Qt 5.9.2

    Linux CentOS7 安装 Qt 5.9.2 参考链接 http://doc.qt.io/qt-5/linux.html sudo yum groupinstall "C Develo ...

  4. LINUX CentOS7安装字体库

    LINUX CentOS7安装字体库 2017年12月26日 17:06:07 q260996583 阅读数:4866更多 个人分类: linux   JAVA画图时常用到Font 类对象 这样的对象 ...

  5. Linux centos7安装Mongodb

    Linux centos7安装Mongodb-4.0 1.下载 官方下载地址:https://www.mongodb.com/download-center/community 2.上传解压 1)rz ...

  6. linux(centos7) 安装nginx

    linux(centos7) 安装nginx 1.14(stable) 版本 Nginx配置文件常见结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内, ...

  7. Centos7安装MySQL8.0

    请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...

  8. linux centos7 安装常用软件java,node,mysql,Seafile

    linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...

  9. Centos7 安装 MySQL8以及远程访问的配置

    Centos7 安装MySQL8 1. 添加MySQL8的本地源 执行以下命令获取安装MySQL源 [root@virde ~]# wget https://repo.mysql.com//mysql ...

随机推荐

  1. ios--->特定构造方法NS_DESIGNATED_INITIALIZER

    特定构造方法 1> 后面带有NS_DESIGNATED_INITIALIZER的方法,就是特定构造方法 2> 子类如果重写了父类的[特定构造方法],那么必须用super调用父类的[特定构造 ...

  2. Linux文件内容重定向

    文件描述符 可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字, ...

  3. C++ 对TXT 的串并行读写

    任务说明:有36篇文档,现在要读入,并统计词频,字典长度25,希望能够比较串并行读写操作的时间差距. 串行读入并统计词频 // LoadDocsInUbuntu.cpp // #include < ...

  4. Leetcode 题目整理 climbing stairs

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  5. 详解隐马尔可夫模型(HMM)中的维特比算法

    笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 4. 隐马尔可夫模型与序列标注 第3章的n元语法模型从词语接续的流畅度出发,为全切 ...

  6. gcd(最大公约数)算法

    PS: 求一个两个数之间的最大公约数,往往需要被记起. int gcd(int x, int y) { if(y == 0) return x; int r = x % y; return gcd(y ...

  7. koa中间执行机制

    start 基于 koa 2.11 按以下流程分析: const Koa = require('koa'); const app = new Koa(); const one = (ctx, next ...

  8. python day01练习和作业

    习题:1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型编译型语言:优点:执行速度快 缺点:维护成本高,跨平台性差解释型语言:优点:维护成本低,跨平台性好 缺点:执 ...

  9. Spring基于注解配置AOP

    D:\Java\IdeaProjects\JavaProj\SpringHelloWorld\src\aop.xml <?xml version="1.0" encoding ...

  10. CentOS 使用yum安装 pip

    pip这个功能很不错,可以用来下载很多东西. 笔者使用的是CentOS Linux release 7.2.1511 (Core)这个版本. 查询版本的语句: cat /etc/redhat-rele ...