(本机环境centos 7 空白机器)不是空白机器的看最后清理mysql安装环境

准备

关闭防火墙和SElinux

简单:

关闭防火墙

systemctl stop firewalld

关闭SElinux

setenforce 0

linux mysql编译安装_mysql

添加阿里云yum源(非必要)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

linux mysql编译安装_MySQL_02

安装阿里云yum扩展源(非必要)

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

linux mysql编译安装_mysql_03

安装wgt

yum -y install wget

linux mysql编译安装_mysql_04

安装编译工具

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make glibc automake autoconf cmake

linux mysql编译安装_centos_05

开始

1.创建mysql用户

useradd -r mysql -M -s /bin/false

2.从官网下载tar包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

linux mysql编译安装_MySQL_06

创建mysql目录

mkdir -p /usr/local/mysql/{data,log}

linux mysql编译安装_centos_07

解压

tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/

linux mysql编译安装_配置文件_08


linux mysql编译安装_MySQL_09

编译安装

cd /usr/local/mysql-5.7.27/

linux mysql编译安装_mysql_10

cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

-DDOWNLOAD_BOOST=1/ 参数详解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装目录
-DSYSCONFDIR=/etc \ 配置文件存放 (默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据目录 错误日志文件也会在这个目录
-DINSTALL_MANDIR=/usr/share/man \ 帮助文档
-DMYSQL_TCP_PORT=3306 \ 默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ sock文件位置,用来做网络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8 \ 默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all \ 扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \ 支持的
-DWITH_READLINE=1 \ 上下翻历史命令
-DWITH_SSL=system \ 使用私钥和证书登陆(公钥) 可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1 \ 嵌入式数据库
-DENABLED_LOCAL_INFILE=1 \ 从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1 默认的存储引擎,支持外键

linux mysql编译安装_mysql_11

linux mysql编译安装_配置文件_12

make

如果安装出错,想重新安装:

不用重新解压,只需要删除安装目录中的缓存文件CMakeCache.txt

linux mysql编译安装_centos_13

linux mysql编译安装_linux_14


linux mysql编译安装_centos_15


linux mysql编译安装_MySQL_16


linux mysql编译安装_MySQL_17


linux mysql编译安装_linux_18


make install

linux mysql编译安装_mysql_19


linux mysql编译安装_mysql_20

初始化
cd /usr/local/mysql
chown -R mysql.mysql .

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data —初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码

linux mysql编译安装_linux_21


egug4MkTp+5)

修改配置文件

mv /etc/my.cnf /etc/my.cnf.bak

vim /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql #指定安装目录
datadir = /usr/local/mysql/data #指定数据存放目录
socket = /tmp/mysql.sock
character_set_server = utf8

参数详解:
[client]
默认连接端口
port = 3306
用于本地连接的socket套接字
socket = /tmp/mysql.sock
编码
default-character-set = utf8

[mysqld] 服务端口号,默认3306 port = 3306 mysql启动用户 user = mysql mysql安装根目录
basedir = /usr/local/mysql mysql数据文件所在位置 datadir =
/usr/local/mysql/data 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 socket =
/tmp/mysql.sock
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节) character_set_server = utf8

启动mysql

/usr/local/mysql/bin/mysqld_safe --user=mysql &

linux mysql编译安装_centos_22

登录mysql
/usr/local/mysql/bin/mysql -uroot -p’ egug4MkTp+5)’

.

linux mysql编译安装_centos_23


\q退出

linux mysql编译安装_centos_24

cp support-files/mysql.server /etc/init.d/mysqld

ls -l /etc/init.d/mysqld

linux mysql编译安装_配置文件_25


新加载系统服务,将MySQL数据库加入开机自启动

systemctl daemon-reloadchkconfig mysqld on

linux mysql编译安装_MySQL_26


修改密码

/usr/local/mysql/bin/mysqladmin -uroot -p’egug4MkTp+5)’ password ‘你的密码’

/usr/local/mysql/bin/mysql -uroot -p你的密码

linux mysql编译安装_linux_27

清理mysql安装环境
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql

rm -rf /etc/my*
rm -rf /var/lib/mysql
上面两条通用,最后两条是根据本文安装也需要执行的。