设为首页 收藏本站
查看: 1338|回复: 0

[经验分享] 基于rhel7.2的mysql5.7.13安装与配置

[复制链接]

尚未签到

发表于 2018-10-9 07:38:24 | 显示全部楼层 |阅读模式
  基于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>  [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
  注:上面加粗字体不要写!
DSC0000.png

DSC0001.jpg

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

  (3)优化Mysql的执行路径:
  [root@ mysql-5.7.13]# vim /etc/profile
DSC0003.png

  在最下面添加: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
   DSC0004.png
  注:上图中mysql生成一个默认密码:rY9V)w5ixjhL
  说明:(5.7.6版本以后的可采用安装模式或者可以使用非安装模式)
DSC0005.jpg

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

  (6)创建配置文件
DSC0007.jpg

  修改my.cnf配置文件:
DSC0008.jpg

DSC0009.jpg

  (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
DSC00010.png

  [root@localhost mysql]# ps -ef |grep mysqld
  [root@localhost mysql]# netstat -lnp |grep mysql
DSC00011.png

  八、访问数据库:
  (1)使用默认密码登入数据库
  [root@localhost mysql]# mysql -u root -p 'rY9V)w5ixjhL'
  (2)修改数据库密码
  mysql> mysqladmin -uroot -p'rY9V)w5ixjhL' password'123456'
  注:
DSC00012.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-618612-1-1.html 上篇帖子: MySQL xtrabackup备份失败记录 下篇帖子: docker下的mysql无法启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表