陈老师:1415968548 郑老师:2735197625 乐老师:354331153
客服热线:
19941464235/19906632509(微信同号)

客服微信

MySQL5.7 For CentOS 7.6 源码编译安装实战

作者:云贝学院
发布时间:2024-01-15 17:28
浏览量:851
1.安装前的准备
1) 关闭防火墙修改SELinux
vim /etc/selinux/config
SELINUX=disabled

2)关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

3)安装MySQL所需要的工具
yum install \
vim \
git \
gcc \
gcc-c++ \
wget \
make \
cmake \
automake \
autoconf \
libaio \
libtool \
net-tools \
bison \
bison-devel \
libaio-devel \
ncurses-devel \
perl-Data-Dumper \
-y




4)检查操作系统上是否安装了MySQL
rpm -qa |grep mysql
yum remove mysql-libs

5)下载源码安装包
cd /apps/rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27.tar.gz
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz


2.添加用户和组:
groupadd  apps
useradd -d /home/apps -g apps -m apps
passwd apps123



3.创建目录及授权
mkdir -p  /apps/conf/mysql                       #config目录
mkdir -p  /apps/dbdat/mysql57_3306               #dbdata目录
mkdir -p  /apps/binlog/mysql57_3306              #binlog目录
mkdir -p  /apps/logs/mysql                       #log目录
mkdir -p  /apps/svr/mysql57                      #binary目录
mkdir -p  /apps/tmp
mkdir -p  /apps/run
mkdir -p  /apps/sh/tool
mkdir -p  /apps/rpm
chown -R apps:apps /apps
chmod -R 755 /apps


4.配MySQL环境变量
vi /etc/profile
export LANG=en_US.UTF-8
export PATH=$PATH:/usr/sbin
export PATH=$PATH:/apps/svr/mysql57/bin
export PATH=$PATH:/apps/sh/tool/

export MYSQL_HISTFILE=/dev/null
> ~/.mysql_history

/bin/bash /apps/sh/log_name.sh



5.解压
cd /apps/rpm/
tar -xzvf boost_1_59_0.tar.gz

cd /apps/rpm
tar -xzvf mysql-5.7.27.tar.gz


6.进入解压完的mysql-5.7.27目录,编译源码并生成makefile。

编译并安装


cmake \
-DCMAKE_INSTALL_PREFIX=/apps/svr/mysql57 \
-DMYSQL_DATADIR=/apps/dbdat/mysql57_3306 \
-DSYSCONFDIR=/app/conf/mysql \
-DWITH_BOOST=/apps/rpm/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock \
-DMYSQL_TCP_PORT=3306


#-DWITH_SYSTEMD=1 \   去掉这个,加上不会安装mysqld_safe

7. 编译

make


8.安装
make install


9.配置mysql参数
vim /apps/conf/mysql/mysql57_3306.cnf

chown -R apps:apps /apps
chmod -R 755 /apps


10. 初始化数据库:(-–datadir目标目录下不能有数据文件)

/apps/svr/mysql57/bin/mysqld --defaults-file=/apps/conf/mysql/mysql57_3306.cnf --initialize --user=apps
/apps/svr/mysql57/bin/mysqld --defaults-file=/apps/conf/mysql/mysql57_3306.cnf --initialize-insecure --user=apps    #root 密码为空

/**
1)用默认的配置文件初始化
/apps/svr/mysql5/bin/mysqld    --initialize --user=apps --basedir=/apps/svr/mysql57 --datadir=/apps/dbdat/mysql57_data3306       # MySQL 5.7.6 and up     mysql_install_db --user=mysql    # Before MySQL 5.7.6
2)用自定义配置文件初始化
/apps/svr/mysql57/bin/mysqld --defaults-file=/apps/conf/mysql/mysql57_3306.cnf --initialize --user=mysql   # 如果通过配置文件初始化,--defaults-file必须放第一个位置(--initialize前面),但是binlog 目录不能放数据目录
3)初始化 但不设置root 密码, root 密码为空
/apps/svr/mysql57/bin/mysqld --defaults-file=/apps/conf/mysql/mysql57_3306.cnf --initialize-insecure --user=mysql
**/


11.执行完这一句后mysql会分配一个初始的密码,这个密码得备份下来。
继续执行:

/apps/svr/mysql57/bin/mysql_ssl_rsa_setup


13. 启动MySQL:

nohup /apps/svr/mysql57/bin/mysqld_safe --defaults-file=/apps/conf/mysql/mysql57_3306.cnf  --user=apps &


/**
bin/mysqld_safe --user=mysql &
或者
/usr/local/mysql/support-files/mysql.server start
或者
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
可以使用service mysqld start | restart | status | status管理
也可以使用systemctl start | restart | status | status mysqld.service
**/


14.登录mysql
mysql


15.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';


16.重新登录
mysql -uroot -p