第一步
下载MySQL5.7版本
下载方式:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23.tar.gz
第二步
安装依赖包
yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++ make
第三步
创建数据库程度用户
useradd -s /sbin/nologin mysql
第四步
由于mysql5.7版本需求boost的版本要高,系统自带的boost版本偏低,不可用
在/usr/local下创建一个名为boost的文件夹
mkdir -p /usr/local/boost
进入这个新创建的文件夹然后下载boost
cd /usr/local/boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
解压
tar -xvzf boost_1_59_0.tar.gz
第五步
安装mysql
解压MYSQL源码包并进入
tar -zxf mysql-5.7.23.tar.gz
cd mysql-5.7.23/
检测安装环境
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
解释
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
##定义安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
##连接数据库socket路径
-DSYSCONFDIR=/etc
##指定初始化参数文件目录(my.cnf)
-DSYSTEMD_PID_DIR=/usr/local/mysql
##数据库目录
-DDEFAULT_CHARSET=utf8
##指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci
##指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则
-DWITH_INNOBASE_STORAGE_ENGINE=1
##支持InnoDB引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
##安装支持数据库分区
编译
make
安装
make install
第六步
优化mysql的配置
对数据库目录进行权限设置
chown -R mysql.mysql /usr/local/mysql/
配置mysql主配置文件
清空mysql主配置文件中的默认配置
echo ‘’ > /etc/my.cnf
添加mysql主配置文件中的默认配置
vim /etc/my.cnf
增加以下的配置
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
权限赋予
chown mysql:mysql /etc/my.cnf
设置环境变量
vim /etc/profile
增加以下的配置
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile
##刷新配置文件
初始化数据库
进入mysql目录
cd /usr/local/mysql/bin/
初始化数据库
mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
添加系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
设置开机自启
systemctl enable mysqld
开启mysql服务
systemctl start mysqld
查看mysql服务是否开启
netstat -an | grep 3306
修改mysql密码
初始数据库是没有密码的,所以直接进入
mysql -u root
修改密码
update mysql.user set authentication_string=password(‘密码’) where user=’root’;
增加外部连接用户
create user ‘root’@’%’ identified by ‘密码’;
增加用户全部权限
grant all on . to root@’%’ identified by ‘123456’;
grant all on . to root@’localhost’ identified by ‘123456’;
刷新Mysql权限
flush privileges;
查看数据库版本
SHOW VARIABLES WHERE Variable_name = ‘version’;