Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,他安装必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,仅仅是不带boost库源码的需要单独安装boost
下载源码包
以下为 带 boost 安装包
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
网址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
mysql社区服务器 --> mysql社区服务器5.7 --> 源代码,通用Linux --> 下载
安装相关依赖|创建用户
# useradd -M -s /sbin/nologin mysql
# yum install -y cmake ncurses-deve
# mkdir -p /data/mysq
预编译
cmake选项网址:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
解压
# tar xf mysql-boost-5.7.25.tar.gz
# cd mysql-5.7.25
从MySQL 5.7.5开始Boost库是必需的
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #mysql安装目录
-DMYSQL_DATADIR=/data/mysql \ #数据库文件目录
-DSYSCONFDIR=/etc \ #配置文件目录
-DMYSQL_USER=mysql \ #运行mysql进行的用户,如果没有需要提前添加用户和用户组
-DDEFAULT_CHARSET=utf8 \ #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #默认校对规则
-DWITH_BOOST=boost #boost库,带boost的源码包只需要这样即可,不带boost源码包需要指明boost目录
# make
# make install
修改配置文件
# >/etc/my.cnf
清空,原本的会导致服务起不来
初始化
# cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
记住临时密码,首次进入数据库后需要修改密码
--------------------
# cp bin/mysql /usr/bin/
创建软链方便命令行连接
配置启动
# cp support-files/mysql.server /etc/init.d/mysqld
# service mysqld start
进入修改密码
# mysql -u root -p临时密码
alter user user() identified by "123456";
问题解决
没有my.cnf文件,创建一个,注意权限
# ll /etc/my.cnf
-rw-r--r--. 1 root root 0 1月 22 11:09 /etc/my.cnf