CentOS7 下源码安装MySQL 8.0.11

Posted guarderming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 下源码安装MySQL 8.0.11相关的知识,希望对你有一定的参考价值。

系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64


  1. 如果有旧版本的mysql,先卸载,用下面命令来查询出系统有哪些相关的MySQL包。

    rpm -qa | grep mysql

  2. 如果上述命令查询出有相关的MySQL包,就卸载

    rpm -e 包名

  3. 卸载MariaDB包

    yum remove mariadb-libs.x86_64

  4. 从MySQL官网下载源码包,并将该文件拷贝到系统中。

    https://dev.mysql.com/downloads/mysql/
    注意:下载带boost的包:mysql-boost-8.0.11.tar.gz, 大小:74.1M
    技术分享图片

  5. 安装编译必要的包

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

  6. 创建MySQL用户和组,该用户只用作MySQL的服务,不能用于登录系统

    useradd -g mysql mysql -M -s /sbin/nologin

  7. 检验源压缩包的完整性,并解 压源码包,解压到/usr/local/mysql-8.0.11

    md5sum mysql-boost-8.0.11.tar.gz
    tar -zxvf mysql-boost-8.0.11.tar.gz -C /usr/local

  8. 执行cmake

    cmake
    -DDOWNLOAD_BOOST=1
    -DWITH_BOOST=/usr/local/mysql-8.0.11/boost/boost_1_66_0/boost
    -DWITH_DEBUG=1
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DWITH_BOOST=/usr/local/boost
    -DSYSCONFDIR=/etc
    -DEFAULT_CHARSET=utf8mb4
    -DDEFAULT_COLLATION=utf8mb4_general_ci
    -DENABLED_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all

  9. 在执行cmake的过程中有一个报错,如下图: 意思是缺少相关的openssl开发包。
    技术分享图片
  10. 安装缺省的依赖包

    yum install openssl-devel.x86_64 openssl-static.x86_64 openssl-perl.x86_64

  11. 删除CMakeCache.txt或者重命名,这里重命名该文件。

    mv CMakeCache.txt CMakeCache.txt.bk

  12. 再次执行cmake操作,并最终没有报错。

    cmake
    -DDOWNLOAD_BOOST=1
    -DWITH_BOOST=/usr/local/mysql-8.0.11/boost/boost_1_66_0/boost
    -DWITH_DEBUG=1
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DWITH_BOOST=/usr/local/boost
    -DSYSCONFDIR=/etc
    -DEFAULT_CHARSET=utf8mb4
    -DDEFAULT_COLLATION=utf8mb4_general_ci
    -DENABLED_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all

  13. 执行 make操作, 该过程执行时间比较长,请耐心等待。

    make

  14. 执行make install

    make install

  15. 切换到目录/usr/local/mysql/bin下,初始化 MySQL, 此时数据库root账号的密码为空。

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

技术分享图片

16.配置启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

17.启动 mysqld

service mysqld start
输出结果:Starting MySQL SUCCESS!

18.验证mysql服务已经启动和相关进程

ps -ef | grep mysqld

19.在数据库本机登录数据库

./mysql -uroot -p

技术分享图片

20.查看默认使用的数据库引擎。

mysql> SHOW ENGINES;

技术分享图片

21.查看默认创建的数据库

mysql> show databases;

技术分享图片

22.更新数据库root密码(由于之前初始化时候为空密码),在连接到SQL的环境中,分别执行以下命令。

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘NEW_PASSWORD‘;
ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;
flush privileges;

23.最后退出数据连接,用新的密码登录验证设置的新密码有效。
































以上是关于CentOS7 下源码安装MySQL 8.0.11的主要内容,如果未能解决你的问题,请参考以下文章

Linux 下安装mysql 8.0.11(CentOS 7.4 系统)

centos7.2 本地yum安装mysql8.0.11-1

centOS7 下 安装mysql8.x

Centos7下Mysql8.0安装手册 以及 一些坑点总结

源码安装mysql

centos7.2 安装mysql8.0.11 并自动初始化root密码