zoukankan      html  css  js  c++  java
  • mysql部署和编译安装

    mysql5.7部署安装

    目录

    一.策划2

    1.1环境 2

    1.2介质 2

    1.3用户与组 2

    1.4默认目录 2

    1.5安装目标 2

    二.初始化2

    2.1清理环境 2

    2.2安装所需的各依赖包 3

    2.3修改系统内核参数 3

    2.4创建用户与组 3

    2.5创建目录 3

    2.6解压安装包 3

    三.编译安装4

    3.1编译源码 4

    3.2源码安装 4

    3.3修正权限 5

    3.4建立软链接 5

    四.创建实例6

    4.1介质 6

    4.2配置参数文件 6

    4.3运行脚本 6

    五.登陆数据库7

    5.1关闭MySQL进程 7

    5.2启动进程 8

    5.3登陆数据库 8

    一.策划

    1.1环境

    操作系统CentOS-7-x86_64-Minimal-1708。内存配置至少2G,建议多核,能加快编译速速。swap区分配至少5G空间。

    1.2介质

    源码安装包:mysql-boost-5.7.23.tar

    下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.22.tar.gz

    创建实例的脚本;后附

    1.3用户与组

    软件属于mysql用户组下,mysql用户为拥有者,mysql用户密码为appleroot用户有所有本地操作权限,root用户密码为orange

    1.4默认目录

    软件存放目录:/home/mysql/sofeware

    软件根目录:/home/mysql/base

    实例根目录:/home/mysql/instance

    1.5安装目标

    /home/mysql/instance下,批量创建三个实例:red,blue,yellow,登陆密码为orange

    二.初始化

    2.1清理环境

    清理系统原有mysqlMariaDB,以防止后台进程的相互干扰,利用rpm指令的配套功能就可以实现。

    [root@don ~]# rpm -qa |grep mysql

    [root@don ~]# rpm -qa |grep mair

    使用rpm工具,对返回的结果强制擦除

    rpm -e --nodeps [ 返回的结果 ]

    2.2安装所需的各依赖包

    [root@don ~]# yum -y install  gcc gcc-c++  readline-devel  bzip2-devel  rpm-build  kernel-devel libaio libaio-devel  elfutils-libelf-devel nfs-utils compat-libstdc++-33  compat-libcap1  cmake  bison  automake  ncurses-devel  xinetd  openssl-devel  numactl-libs

    2.3修改系统内核参数

    [root@don ~]# echo '* soft nofile 65535' >> /etc/security/limits.conf 

    [root@don ~]# echo '* hard nofile 65535' >> /etc/security/limits.conf 

    2.4创建用户与组

    [root@don ~]# groupadd -g 6666 mysql

    [root@don ~]# useradd -u 6666 -g mysql mysql

    2.5创建目录

    [root@don ~]# su - mysql

    [mysql@don ~]$ mkdir -p /home/mysql/sofeware

    [mysql@don ~]$ mkdir -p /home/mysql/base

    [mysql@don ~]$ mkdir -p /home/mysql/instance

    2.6解压安装包

    将源码安装包mysql-boost-5.7.23.tar放到/home/mysql/sofeware

    [mysql@don sofeware]$ pwd

    /home/mysql/sofeware

    [mysql@don sofeware]$ ls

    mysql-boost-5.7.23.tar.gz

    [mysql@don sofeware]$ tar xvf mysql-boost-5.7.23.tar.gz

    **********************************************

    [mysql@don sofeware]$ ls

    mysql-5.7.23  mysql-boost-5.7.23.tar.gz

    三.编译安装

    3.1编译源码

    进入解压后的文件夹

    [mysql@don sofeware]$ cd mysql-5.7.23

    切换到root用户

    [mysql@don mysql-5.7.23]$ su

    密码:

    [root@don mysql-5.7.23]#

    [root@don mysql-5.7.23]# cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/base -DENABLED_LOCAL_INFILE=ON  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/

    DENABLED_LOCAL_INFILE=ON :源码文件保存在当前路径下        

    DCMAKE_INSTALL_PREFIX=/home/mysql/base :为源码指定安装目录

      

    3.2源码安装

    设备上的内核数目为4,所以参数配置为-j 4

    [root@don mysql-5.7.23]# make -j 4 && make install

    某次安装期间报错,内容如下

    [root@don ~]# top

    产看内核资源,发现某次安装时的swap区为1G,已经全部用满,证明内存容量不足,

    本次安装系统的内存为2G,同时swap区配置为8G时,发现编译安装时swap区使高峰期用量约为3G,所以当使用源码编译时,总内存量不能小于6G

    进入/home/mysql/base/bin目录下,验证安装。当返回帮助文档时,证明安装成功

    [root@don bin]# pwd

    /home/mysql/base/bin

    [root@don bin]# ./mysql --help

    3.3修正权限

    编译安装需要root权限,当编译安装完成后,将软件属组权限还给mysql.

    [root@don bin]# chown -R mysql:mysql  /home/mysql/

    3.4建立软链接

    为方便MySQL其他配套组件使用,建立对应软链接。当提示软连接存在时,则跳过。

    ln -s /home/mysql/mysql*/bin/mysql  /usr/bin/mysql

    ln -s /home/mysql/mysql*/bin/mysqladmin  /usr/bin/mysqladmin

    ln -s /home/mysql/mysql*/bin/mysql_config /usr/bin/mysql_config

    ln -s /home/mysql/mysql*/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20

    四.创建实例

    4.1脚本

    附件          两个脚本

    4.2配置参数文件

    将脚本发送到/home/mysql/sofeware路径下。配置initdb.info

    [root@don sofeware]# vi initdb.info

    IP ******************************************************本机IP 地址

    SOFT_DIR ***********************************************软件根目录,本机为/home/mysql/base

    INSTANCE_BASE_DIR **************************************实例根目录,自定义

    INSTANCE_NAME_PREFIX **********************************实例前缀,自定义

    INSTANCE_NAME *****************************************实例名,自定义

    INSTANCE_PORT ******************************************实例端口号,建议范围22222-66666

    SERVER_ID ***********************************************服务号,实例号后缀号码

    ADMIN_USER *********************************************维护账号

    ADMIN_PASSWD*******************************************维护密码

    4.3运行脚本

    注意,一定要在MySQL用户下运行。

    [mysql@don sofeware]$ sh init57_v1.3_20180402.sh

    运行结束后,将在规划中的/home/mysql/instance下创建,三个实例

    [mysql@don instance]$ ls

    db_blue  db_red  db_yellow

    同时,三个实例对应的mysqld服务进程同时存在系统中:

    [mysql@don instance]$ ps -ef|grep mysql

    mysql     78084      1  0 18:39 pts/0    00:00:00 /bin/sh /home/mysql/base/bin/mysqld_safe --defaults-file=/home/mysql/instance/db_red/conf/red.cnf --datadir=/home/mysql/instance/db_red/data

    mysql     79811  78084  0 18:39 pts/0    00:00:00 /home/mysql/base/bin/mysqld --defaults-file=/home/mysql/instance/db_red/conf/red.cnf --basedir=/home/mysql/base --datadir=/home/mysql/instance/db_red/data --plugin-dir=/home/mysql/base/lib/plugin --log-error=/home/mysql/instance/db_red/log/mysql.err --open-files-limit=65000 --pid-file=/home/mysql/instance/db_red/mysql.pid --socket=/home/mysql/instance/db_red/mysql.sock --port=22222

    mysql     81577      1  0 18:40 pts/0    00:00:00 /bin/sh /home/mysql/base/bin/mysqld_safe --defaults-file=/home/mysql/instance/db_blue/conf/blue.cnf --datadir=/home/mysql/instance/db_blue/data

    mysql     83304  81577  0 18:40 pts/0    00:00:00 /home/mysql/base/bin/mysqld --defaults-file=/home/mysql/instance/db_blue/conf/blue.cnf --basedir=/home/mysql/base --datadir=/home/mysql/instance/db_blue/data --plugin-dir=/home/mysql/base/lib/plugin --log-error=/home/mysql/instance/db_blue/log/mysql.err --open-files-limit=65000 --pid-file=/home/mysql/instance/db_blue/mysql.pid --socket=/home/mysql/instance/db_blue/mysql.sock --port=22223

    mysql     85070      1  0 18:40 pts/0    00:00:00 /bin/sh /home/mysql/base/bin/mysqld_safe --defaults-file=/home/mysql/instance/db_yellow/conf/yellow.cnf --datadir=/home/mysql/instance/db_yellow/data

    mysql     86732  85070  0 18:40 pts/0    00:00:00 /home/mysql/base/bin/mysqld --defaults-file=/home/mysql/instance/db_yellow/conf/yellow.cnf --basedir=/home/mysql/base --datadir=/home/mysql/instance/db_yellow/data --plugin-dir=/home/mysql/base/lib/plugin --log-error=/home/mysql/instance/db_yellow/log/mysql.err --open-files-limit=65000 --pid-file=/home/mysql/instance/db_yellow/mysql.pid --socket=/home/mysql/instance/db_yellow/mysql.sock --port=22224

    五.登陆数据库

    5.1关闭MySQL进程

    进入实例db_red目录下bin文件夹,运行shutdown.sh脚本,关闭实例red的进程。同理,关闭其他实例进程。

    [mysql@don bin]$ sh shutdown.sh

    Enter password: orange

    [mysql@don bin]$ ps -ef|grep mysql

    [root@don bin]# ps -ef|grep mysql

    root      14023   1345  0 16:29 pts/0    00:00:00 su - mysql

    mysql     14024  14023  0 16:29 pts/0    00:00:00 -bash

    root      55137  14067  0 18:31 pts/0    00:00:00 su - mysql

    mysql     55138  55137  0 18:31 pts/0    00:00:00 -bash

    root      65693  65683  0 18:34 pts/0    00:00:00 su - mysql

    mysql     65694  65693  0 18:34 pts/0    00:00:00 -bash

    root      86869  19010  0 18:44 pts/1    00:00:00 grep --color=auto mysql

    5.2启动进程

    进入实例对应的bin目录下,运行startup.sh脚本

    [mysql@don bin]$ ls

    login.sh  shutdown.sh  startup.sh

    [mysql@don bin]$ sh startup.sh

    [mysql@don bin]$ ps -ef|grep mysql

    mysql     86938      1  0 19:00 pts/0    00:00:00 /bin/sh /home/mysql/base/bin/mysqld_safe --defaults-file=/home/mysql/instance/db_red/conf/red.cnf --datadir=/home/mysql/instance/db_red/data

    mysql     88597  86938  1 19:00 pts/0    00:00:00 /home/mysql/base/bin/mysqld --defaults-file=/home/mysql/instance/db_red/conf/red.cnf --basedir=/home/mysql/base --datadir=/home/mysql/instance/db_red/data --plugin-dir=/home/mysql/base/lib/plugin --log-error=/home/mysql/instance/db_red/log/mysql.err --open-files-limit=65000 --pid-file=/home/mysql/instance/db_red/mysql.pid --socket=/home/mysql/instance/db_red/mysql.sock --port=22222

     

    5.3登陆数据库

    mysqld进程运行后,在当前目录下,运行login.sh脚本

    [mysql@don bin]$ ls

    login.sh  shutdown.sh  startup.sh

    [mysql@don bin]$ pwd

    /home/mysql/instance/db_red/bin

    [mysql@don bin]$ sh login.sh

    Enter password: orange

    Welcome to the MySQL monitor.  Commands end with ; or g.

    Your MySQL connection id is 2

    Server version: 5.7.23-log Source distribution

    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its

    affiliates. Other names may be trademarks of their respective

    owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | sys                |

    +--------------------+

    4 rows in set (0.00 sec)

  • 相关阅读:
    gitment Error:validation failed错误解决办法
    Hexo博客yilia主题添加Gitment评论系统
    用DateTime的ParseExact方法解析特殊的日期时间
    C#中的日期处理函数
    SQL,Linq,Lambda之间的转换练习
    Windows Azure Platform 系列文章目录
    Linq查询表达式
    EF框架的三种工作方式
    jQuery UI 实现图片循环显示,常用于网站首页banner广告切换
    jQuery UI Datepicker
  • 原文地址:https://www.cnblogs.com/lswei/p/9546384.html
Copyright © 2011-2022 走看看