一、简介:
MySQL 5.7主要特性:
1、原生支持Systemd
2、更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化
3、更好的lnnoDB存储引擎
4、更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库
5、MySQL-5.6.3以上版本已经支持了多线程的主从复制
6、新增sys库:以后这会是DBA访问最平凡的库
二、安装MySQL 5.7.13
系统环境:Centos 7.2x86_64
1、安装前准备:
因为Centos 7.2默认安装了mariadb-libs,所以要先卸载掉
[root@localhost ~]# rpm -aq | grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@localhost ~]# rpm -e mariadb-libs --nodeps
2、安装相关依赖包
准备以下安装包
bison-3.0.4.tar.gz cmake-3.5.2.tar.gz mysql-5.7.13.tar.gz
boost_1_59_0.tar.gz ncurses-5.9.tar.gz
注:相关依赖包的作用
# cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要cmake编译器,用于设置mysql的编译参数。(如:安装目录,数据存放目录,字符编码,排序规则等)
# boost:从MySQL5.7.5开始Boost库是必需的,mysql源码中用到了C++的Boost库,要求必需安装Boost1.59.0或以上版本。
# GCC:这是Linux下的C语言编译工具,MySQL源码编译完全由C和C++编写,要求必需安装GCC。
# bison:Linux下C/C++语法分析器。
# ncurses:字符终端处理库。
1)安装cmake
[root@localhost ~]# tar zxf cmake-3.5.2.tar.gz
[root@localhost ~]# cd cmake-3.5.2/
[root@localhost cmake-3.5.2]# ./bootstrap
[root@localhost cmake-3.5.2]# gmake && gmake install
2)查看cmake版本:
3)安装ncurses
[root@localhost ~]# tar zxf ncurses-5.9.tar.gz
[root@localhost ~]# cd ncurses-5.9/
[root@localhost ncurses-5.9]# ./configure && make && make install
4)安装bison
[root@localhost ~]# tar zxf bison-3.0.4.tar.gz
[root@localhost ~]# cd bison-3.0.4/
[root@localhost bison-3.0.4]# ./configure && make && make install
5)安装boost
[root@localhost ~]# tar zxf boost_1_59_0.tar.gz
[root@localhost ~]# mv boost_1_59_0 /usr/local/boost
6)创建mysql用户和用户组及目录
[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false -M mysql
[root@localhost ~]# mkdir -p /usr/local/mysql/data
3、编译安装MySQL
解压mysql源码包
[root@localhost ~]# tar zxf mysql-5.7.13.tar.gz
[root@localhost ~]# cd mysql-5.7.13/
执行cmake命令进行编译前配置
[root@localhost mysql-5.7.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost
<-- 注 -->:配置解释:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ## MySQL安装根目录
-DMYSQL_DATADIR=/usr/local/mysql/data ## MySQL数据库文件存放目录
-DSYSCONFDIR=/etc ## MySQL配置文件所在目录
-DDEFAULT_CHARSET=utf8 ## 设置Mysql默认字符集为utf-8
-DDEFAULT_COLLATION=utf8_general_ci ## 设置默认字符集校对规则
-DEXTRA_CHARSETS=all ## 使MySQL支持所有的扩展字符
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock ## 指定mysql.sock位置
-DWITH_MYISAM_STORAGE_ENGINE=1 ## 添加MYISAM引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 ## 添加lnnoDB引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 ## 添加ARCHIVE引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 ## 安装支持数据库分区
-DWITH_SYSTEMD=1 ## 可以使用systemd控制mysql服务
-DWITH_BOOST=/usr/local/boost ## 指向boost库所在目录
开始编译及编译安装
[root@localhost mysql-5.7.13]# make && make install
<-- 注 -->:加快编译速度的方法:
[root@localhost mysql-5.7.13]# make -j $(grep processor /proc/cpuinfo |wc -l) && make install
-j:参数表示根据CPU核数指定编译时的线程数,可以加快编译速度(默认为1个线程数)
<-- 注 -->:若要重新运行cmake配置,则需要删除CMakeCache.txt文件:
[root@localhost mysql-5.7.13]# make clean
[root@localhost mysql-5.7.13]# rm -f CMakeCache.txt
优化MySQL的执行路径
[root@localhost mysql-5.7.13]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.7.13]# source /etc/profile
4、设置权限并初始化MySQL系统授权表
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql .
[root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local --datadir=/usr/local/mysql/data
<-- 注 -->:以root初始化操作系统时要加--user=mysql参数,生成一个随机密码。(需记住登入时要用)
5、创建配置文件
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
[root@localhost ~]# vim /etc/my.cnf ##在[mysqld]下面添加以下内容
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /usr/local/mysql/mysql.sock
log-error = /usr/local/mysql/data/mysqld.err
6、配置mysql自动启动
[root@localhost ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
<-- 注 -->:因为mysqld.service 把默认的pid文件指定到/var/run/mysqld目录,而没有事先建立目录,所有这个时候启动mysql会失败。两种解决方法:
第一种方法:创建/var/run/mysqld目录并设置属主属主为mysql
root@localhost ~]# mkdir /var/run/mysqld
[root@localhost ~]# chown -R mysql:mysql /var/run/mysqld/
第二种方法:修改/usr/lib/system/system/mysqld.service
[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service
[root@localhost ~]# systemctl daemon-reload
启动mysql服务
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl status mysqld.service
查看端口号
[root@localhost ~]# netstat -anpt |grep mysqld
6、设置数据库管理员用户root密码
[root@localhost ~]# mysqladmin -uroot -p'=hJ?V:?9vQ-Q' password 123.com
注:这里-p选项中输入初始化时生成的随机密码
访问MySQL数据库
[root@localhost ~]# mysql -u root -p
——到此MySQL 5.7.13安装完成
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。