Centos7源码编译mysql5.7

  1. 环境
    1️⃣关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    2️⃣关闭selinuxsed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
    setenforce 0
    3️⃣安装依赖包
    yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
    yum groupinstall -y Development\ Tools
    4️⃣准备逻辑卷挂在路径 /mydata/data
    5️⃣创建mysql用户并授权数据目录
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /mydata/data
  1. 下载mysql源码包https://dev.mysql.com/downloads/mysql/到/opt/目录下
    创建目录mkdir -p /usr/local/mysql
    解压:tar xf mysql-boost-5.7.17.tar
  2. 卸载本机自带mariadbCentos7源码编译mysql5.7_第1张图片
  3. cd /opt/mysql-5.7.17/下进行编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/mydata/data -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1

见到如下表示成功:

接下来make && make install
注意:如果出错解决错误之后,先删除mysql安装路径下CMakeCache.txt再编译,其记录了编译过程

  1. 授权
    chown -R root:mysql /usr/local/mysql
  2. 初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data

Centos7源码编译mysql5.7_第2张图片红框里代表的是mysql初始密码
有如下内容表示成功
在这里插入图片描述

  1. 拷贝模板作为mysql的配置文件
cp /opt/mysql-5.7.17/support-files/my-default.cnf /etc/my.cnf

vim /etc/my.cnf

  1. 启动服务/usr/local/mysql/bin/mysqld_safe --user=mysql &
    查看是否启动成功在这里插入图片描述
  2. 由于/usr/local//mysql/bin目录是有很多命令则将其配置为环境变量
    echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
  1. 就直接可以用mysql命令了,修改root密码,用之前看到的密码登录,并修改密码Centos7源码编译mysql5.7_第3张图片
  2. 最后设置mysql开机自启动
vim /etc/rc.d/rc.local 

可以咯!!!切忌在编辑源码时很容易出错,要细心!!!

你可能感兴趣的:(Mysql,Linux)