FragranceM 发表于 2018-9-30 10:18:00

CentOS7 下源码安装MySQL 8.0.11-OptimusSnow

  CentOS7 下源码安装MySQL 8.0.11
  系统环境:CentOS7,内核:Linux 3.10.0-862.el7.x86_64

[*]如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包。  rpm -qa | grep mysql

[*]如果上述命令查询出有相关的MySQL包,就卸载  rpm -e 包名

[*]卸载MariaDB包  yum remove mariadb-libs.x86_64

[*]从MySQL官网下载源码包,并将该文件拷贝到系统中。  https://dev.mysql.com/downloads/mysql/
  注意:下载带boost的包:mysql-boost-8.0.11.tar.gz, 大小:74.1M


[*]安装编译必要的包  yum -y install make gcc-c++ cmake bison-devel ncurses-devel

[*]创建MySQL用户和组,该用户只用作MySQL的服务,不能用于登录系统  groupadd 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/boost \
  -DWITH_DEBUG=1 \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -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
  11.删除CMakeCache.txt或者重命名,这里重命名该文件。
  mv CMakeCache.txt CMakeCache.txt.bk
  12.再次执行cmake操作,并最终没有报错
  cmake \
  -DDOWNLOAD_BOOST=1 \
  -DWITH_BOOST=/usr/local/boost \
  -DWITH_DEBUG=1 \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -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'>  ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
  flush privileges;
  23.最后退出数据连接,用新的密码登录验证设置的新密码有效。

页: [1]
查看完整版本: CentOS7 下源码安装MySQL 8.0.11-OptimusSnow