码迷,mamicode.com
首页 > 数据库 > 详细

CentOS7 下源码安装MySQL 8.0.11

时间:2019-01-21 12:07:51      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:sum   启动脚本   用户   服务   water   iso   stat   src   解压   

系统环境: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

标签:sum   启动脚本   用户   服务   water   iso   stat   src   解压   

原文地址:https://www.cnblogs.com/guarderming/p/10297895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!