源码包编译安装mysql5.7

去官网下载的话速度非常慢,反正我一直是几十K,问过朋友能到500K,如果翻墙的话可能会更快吧

下面用的清华大学的镜像源

先清理下安装环境吧,可能有自带的mariadb

yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y

1.下载并解压

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
tar zxvf mysql-boost-5.7.25.tar.gz
cd mysql-5.7.25/ && ls

这个包是自带了boost库的,如果下的不是这种的话,那还需要单独下个boost库的包,解压后放进mysql解压目录就行。boost库下载

2.创建mysql账户(没有家目录、没有登录shell的用户)

useradd -r mysql -M -s /sbin/nologin

3.安装编译工具,如果已有了可以忽略

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

4.创建mysql安装目录并更改其属主为mysql

mkdir -p /usr/local/mysql/data&&chown -R mysql:mysql /usr/local/mysql

5.在解压包目录下使用cmake生成编译环境

cmake . -DWITH_BOOST=boost/ -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

出现该提示则生成完成。

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql         \ 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                 \ 支持的utf8字符集

-DWITH_READLINE=1                                                 \ 上下翻历史命令

-DWITH_SSL=system                                                   \ 使用私钥和证书登陆(公钥) 可以加密。 适用与长连接。坏处:速度慢

-DWITH_EMBEDDED_SERVER=1                              \ 嵌入式数据库

-DENABLED_LOCAL_INFILE=1 \ 从本地倒入数据,不是备份和恢复。

6.编译与安装

make&&make install

接下来就是漫长的等待时间~~

完成后

7.初始化

cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

然后会得到初始密码

8.配置my.cnf

vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

server-id = 1

log-bin=mysql-bin

安装目录和数据存放目录是必须要的,不指定端口的话会默认3306,我个人是习惯一安装就开binlog日志,有需求就按个人需求配置加吧。

9.启动mysql

# cp support-files/mysql.server /etc/init.d/mysqld       // 生成mysql.server脚本

# chkconfig --add mysqld                                 // 给MySQL设置启动项

# service mysqld start                                   // 执行启动命令

# chkconfig mysqld on                                    // 开机启动

10.修改密码

./bin/mysql -uroot -p

输入先前得到的初始密码进入数据库。

mysql> set password=password('123');

11.添加环境变量

vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

source ~/.bash_profile

重启下看看mysql有没有开机自启,完成。

发布了60 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_44697035/article/details/100553570