去官网下载的话速度非常慢,反正我一直是几十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生成编译环境
出现该提示则生成完成。
-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有没有开机自启,完成。