码迷,mamicode.com
首页 > 数据库 > 详细

基于rhel7.2的mysql5.7.13安装与配置

时间:2017-06-02 01:00:42      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:mysql5.7.13 linux centos rhel7.2

基于rhel7.2的mysql5.7.13安装与配置


一、实验环境:

(1)虚拟机:vmware workstation 12

(2)操作系统:rhel 7.2 X86_64

(3)数据库:mysql5.7.13

二、MySQL 5.7主要特性:

原生支持Systemd

更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化

更好的InnoDB存储引擎

更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。

注:从mysql5.6.3版本开始就已经支持了多线程的主从复制

新增sys库:以后这会是DBA访问最频繁的库

更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题原生JSON类型的支持(JavaScript Object Notation)

注:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON 语法是 JavaScript 对象表示语法的子集。

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

用JSON编写的文件,可以代替.yaml格式的文件。(docker  kubernetes中用的到,创建RC)。

三、查看并删除系统自带的数据库

[root@localhost ~]# uname -r

3.10.0-327.el7.x86_64

[root@localhost ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.2 (Maipo)

[root@localhost ~]# rpm -qa |grep mariadb

mariadb-libs-5.5.44-2.el7.x86_64

[root@localhost ~]# rpm -e mariadb-libs  --nodeps

[root@localhost ~]# rpm -qa |grep mariadb

:因为centos7.2默认安装了mariadb-libs,所以先要卸载掉

先查看本系统是否安装mariadb。从linux7版本开始不再支持mysql的rpm包安装,所以系统盘内不再有mysql的rpm包,同时从linux7版本开始,系统会默认安装mariadb-libs数据库,我们再安装mysql数据库会发生冲突,所以我们要先卸载mariadb-libs数据库。

四、依赖包下载

(1)相关依赖包的作用

cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。

Boost:从MySQL 5.7.5开始Boost库是必需的,mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本

GCC:是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC

bison:Linux下C/C++语法分析器

ncurses:字符终端处理库

(2)安装文件准备

下载cmake-3.5.tar.gz      

下载ncurses-5.9.tar.gz   

下载bison-3.0.4.tar.gz    

下载mysql-5.7.13.tar.gz

下载Boost_1_59_0.tar.gz

五、依赖包安装

(1)安装cmake

[root@localhost ~]# cd /usr/src

[root@ src]# tar -zxvf cmake-3.5.2.tar.gz

[root@ src]# cd cmake-3.5.2

[root@ cmake-3.5.2]# ./bootstrap && gmake && gmake install 

注:如果上一步报错,请安装如下包:

[root@localhost cmake-3.5.2]# yum install -y gcc

[root@localhost cmake-3.5.2]# yum install -y gcc-c++.x86_64

cmake –version ---查看cmake版本

[root@ cmake-3.5.2]# cmake -version

cmake version 3.5.2


CMake suite maintained and supported by Kitware (kitware.com/cmake).

(2)安装ncurses

[root@ src]# tar zxvf ncurses-5.9.tar.gz 

[root@ ncurses-5.9]# ./configure && make && make install

(3)安装bison

[root@ src]# tar -zxvf bison-3.0.4.tar.gz

[root@ src]# cd bison-3.0.4

[root@ bison-3.0.4]# ./configure && make && make install

注:如果上一步报错,如下:

报错1::checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.

安装:

[root@localhost bison-3.0.4]# yum install -y m4.x86_64

报错2:configure: error: perl not found

[root@localhost bison-3.0.4]# yum install -y perl.x86_64

(4)安装bootst

[root@ src]# tar -zxvf boost_1_59_0.tar.gz

[root@ src]# mv boost_1_59_0 /usr/local/boost

六、创建mysql用户和用户组及目录

(1)创建mysql用户和用户组

[root@ ~]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql

注:上述命令的意思是:新建mysql组和mysql用户禁止登录shell,上述命令也可以写成如下形式:

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

-r表示创建系统组成或系统账户。

查看一下所创建的mysql账户:

[root@localhost ~]# cat /etc/passwd |grep mysql

mysql:x:996:994::/home/mysql:/bin/false

(2)创建mysql安装目录

[root@ ~]# mkdir /usr/local/mysql

(3)创建数据库所在目录

[root@ ~]# mkdir /usr/local/mysql/data

七、编译安装mysql并优化

(1)解压mysql

[root@ src]# tar -zxvf mysql-5.7.13.tar.gz

(2)编译安装mysql

[root@ src]# cd mysql-5.7.13

[root@ mysql-5.7.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_PARTITION_STORAGE_ENGING=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=uft8 -DDEFAULT_COLLATION=uft8_general_ci -DWITH-SYSTEMD=1 -DWITH_BOOST=/usr/local/boost && make && make install


注:上面加粗字体不要写!

技术分享

技术分享

注:若要重新运行cmake配置,需要删除CMakeCache.txt文件(即前面的配置、编译、安装后发现有错误,我们这时候无须重头来只需要删除CMakeCache.txt文件)

步骤如下:

技术分享

(3)优化Mysql的执行路径:

[root@ mysql-5.7.13]# vim /etc/profile

技术分享

在最下面添加:export PATH=$PATH:/usr/local/mysql/bin

[root@ mysql-5.7.13]# source /etc/profile

(4)设置权限并初始化MySQL系统授权表

[root@ ~]# chown -R mysql:mysql /usr/local/mysql/

初始化数据库,命令:

[root@localhost ~]#  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data 

技术分享

注:上图中mysql生成一个默认密码:rY9V)w5ixjhL

说明:(5.7.6版本以后的可采用安装模式或者可以使用非安装模式)

技术分享

(5)以防万一,再次改一下属主和属组

技术分享

(6)创建配置文件

技术分享

修改my.cnf配置文件:

技术分享

技术分享

(7)配置mysql开机自启动

[root@localhost ~]# cd /usr/lib/systemd/system/

[root@localhost system]# vim mysqld.service

配置文件如下:

[Unit]

Description=MySQL Server

After=network.target


[Service]

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --socket=/usr/local/mysql/mysql.sock

User=mysql

Group=mysql


[Install]

WantedBy=multi-user.target

退出,保存!

[root@localhost system]# systemctl daemon-reload ##重新载入systemd,扫描新的或者有变动的单元,使其生效。

(8)再次启动mysql,并查看状态

[root@localhost system]# systemctl start mysqld.service

[root@localhost system]# systemctl status mysqld.service

技术分享

[root@localhost mysql]# ps -ef |grep mysqld

[root@localhost mysql]# netstat -lnp |grep mysql

技术分享

八、访问数据库:

(1)使用默认密码登入数据库

[root@localhost mysql]# mysql -u root -p ‘rY9V)w5ixjhL‘

(2)修改数据库密码

mysql> mysqladmin -uroot -p‘rY9V)w5ixjhL‘ password‘123456‘

注:

技术分享

本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1931482

基于rhel7.2的mysql5.7.13安装与配置

标签:mysql5.7.13 linux centos rhel7.2

原文地址:http://wutengfei.blog.51cto.com/10942117/1931482

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!