• 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装


     

    MySQLLinux下MySQL 5.5、5.65.7RPM、二进制和源码安装

     

    1.1  BLOG文档结构图

    wps4FBA.tmp 

    wps4FBB.tmp 

    wps4FBC.tmp 

    1.2  前言部分

    1.2.1  导读和注意事项

    各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~

    MySQL的二进制安装过程(重点)

    ② MySQL多实例管理(mysqld_multi

    MySQL的源码编译安装过程

    Linux的逻辑卷的使用

    文件的MD5

    访问MySQL的几种客户端工具(NavicatMySQLWorkbench

    ⑦ 修改MySQL的密码

    ⑧ 设置MySQL的远程访问

    ⑨ 设置MySQL的开机启动以及多实例的开机启动

    RPM、二进制和源码编译的优缺点

     

    Tips

    本文在itpubhttp://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr有同步更新

    文章中用到的所有代码相关软件相关资料及本文的pdf版本都请前往小麦苗的云盘下载小麦苗的云盘地址见:http://blog.itpub.net/26736162/viewspace-1624453/

    若网页文章代码格式有错乱,下载pdf格式的文档来阅读

    本篇BLOG,代码输出部分一般放在一行一列的表格中。

    ⑤ 本文适合于MySQL初中级人员阅读,MySQL大师请略过本文。

    ⑥ 不喜勿喷。

    本文有错误或不完善的地方请大家多多指正,您的批评指正是我写作的最大动力。

    -------------------------------------------------------------------------

    1.3  本文简介

    自从去年3月份开始写书到现在,基本上大部分内容都写完了。一个字,累!三个字,真心累!我也因此错过了很多的东西,当然也收获了很多,一切都随缘吧。现在来说说博客吧,虽然我的博客在这段时间更新比较频繁,但是大多内容都不是来自我的原创,基本都是整理自网络。可能有的朋友就会骂小麦苗了,抄袭抄袭,我不反驳,因为这的确是抄袭。为啥小麦苗要这么做,可能基于这么几个原因吧。第一,干货类的文章,本来原创的内容就少,网上的文章也大多是一个抄一个的,很多内容,原创作者已经很难找到了。第二,个别文章并不是很完善,如果不整理在一块,若下次碰到相同的内容,还是得网上再天翻地覆的搜一遍,太浪费时间了。第三,这些非原创的文章,不仅仅是给网友做参考,更重要的是,小麦苗自己也参考。毕竟人的记忆力是有限的,小麦苗也经常搜索自己的文章,所以,这并不可耻。第四,有的文章写得很好,但是里边有个别地方写得不严谨,或者写得有错误,这个时候,小麦苗整理到自己博客的时候就可以顺便修改过来。说再多,有的网友觉得,这都是借口,好吧。抄袭就是抄袭,再多借口也改变不了抄袭的本质。小麦苗不再多说了,只想说一句,不喜勿喷。

    从今天开始,小麦苗会准备OCM和MySQL的学习。所以,今天就先把MySQL的各个版本安装一下吧。要学习MySQL,估计5.55.65.7版本的都需要安装。不过,相比Oracle而言,MySQL还是更好安装一点。

    小麦苗出版的书籍:http://blog.itpub.net/26736162/viewspace-2142121/

    废话已经说了很多了,下面开始安装吧。

    1.4  Linux下各种安装方法比较

    Windows下可以使用NOINSTALL包和图形化包来安装,在Linux下可以使用如下3种方式来安装:

     

    RPM(Redhat Package Manage

    二进制Binary Package

    源码Source Package

    优点

    安装简单,适合初学者学习使用

    安装简单可以安装到任何路径下,灵活性好一台服务器可以安装多个MySQL

    在实际安装的操作系统进行可根据需要定制编译,最灵活性能最好一台服务器可以安装多个MySQL

    缺点

    需要单独下载客户端和服务器安装路径不灵活,默认路径不能修改,一台服务器只能安装一个MySQL

    已经经过编译,性能不如源码编译的好不能灵活定制编译参数

    安装过程较复杂编译时间长

    文件布局

    /usr/bin客户端程序和脚本

    /usr/sbinmysqld服务器

    /var/lib/mysql日志文件,数据库

    /usr/share/doc/packages文档

    /usr/include/mysql包含文件

    /usr/lib/mysql文件

    /usr/share/mysql错误消息和字符集文件

    /usr/share/sql-bench基准程序

    bin客户端程序和mysqld服务器

    data日志文件,数据库

    docs文档,ChangeLog

    include包含文件

    lib

    scriptsmysql_install_db用来初始化系统数据库

    share/mysql错误消息文件

    sql-bench基准程序

    bin客户端程序和脚本

    include/mysql包含文件

    infoInfo格式的文档

    lib/mysql文件

    libexecmysqld服务器

    share/mysql错误消息文件

    sql-bench基准程序和crash-me测试

    var数据库和日志文件

    主要安装过程

    大多数情况下,下载MySQL-serverMySQL-client可以了,安装方法如下:

    rpm -ivh MySQL-server* MySQL-client*

    1.添加用户

    groupadd mysql

    useradd -g mysql mysql

    2.安装

    tar -xzvf mysql-VERSION-OS.tar.gz -C /mysql/

    ln -s MySQL-VERSION-OS mysql或mv命令

    3.初始化,MySQL 5.7之后用mysqld --initialize

    scripts/mysql_install_db

    4.启动数据库并修改密码

    mysqld_safe &

    set password=password('lhr');

    除了第二步的安装过程外,其它步骤和二进制基本一样(MySQL 5.7开始使用cmake):

    gunzip < mysql-VERSION.tar.gz | tar -xvf -

    cd mysql-VERSION

    ./configure --prefix=/usr/local/mysql

    make && make install

    安装包下载选项

    Red Hat Enterprise Linux / Oracle Linux

    Linux - Generic

    Source Code

     

    rpm的安装方式请参考:

    http://blog.itpub.net/26736162/viewspace-1349705/

    http://blog.itpub.net/26736162/viewspace-1349787/

     

    官网中相应地有以上三种方式对应的下载链接,其中源码安装,对应"Source Code".tar.gz对应"Linux - Generic".rpm则对应于"Red Hat Enterprise Linux / Oracle Linux",如下图所示,

    wps4FCD.tmp 

     

    1.5  注意事项

    1.目录大小。MySQL 5.7的二进制安装后大约3G,所以可以分配5G空间;而5.55.6版本的二进制包安装可以分配2G左右。

    2.MySQL 5.7的源码包需要分配10G的空间。cmake最低需要2.8.2版本

    3.下载和上传后需要校验md5值,防止上传的文件不完整。

    4.源码编译安装比较费时费力。

     

    1.6  MySQL下载

    在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的MySQL下载:

    wps4FCE.tmp 

    注意:MD5: dbe7e5e820377c29d8681005065e5728,下载完成后需要校验。

    感觉MySQL的安装包越来越大了,不过相比Oracle而言,就小的多了。小麦苗已经将安装文件放到云盘了,参考:http://blog.itpub.net/26736162/viewspace-1624453/ 

    注意:不要下载rpm类型的包,安装路径不灵活,默认路径不能修改,一台服务器只能MySQL安装一个 MySQL。下图下载后均是rpm包:

    wps4FCF.tmp 

    1.6.1  历史MySQL版本下载

    地址:https://downloads.mysql.com/archives/community/,最早版本只能看到5.0.15

    wps4FD0.tmp 

    1.7  MySQL 5.7安装

    1.7.1  下载

    在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的MySQL下载:

    wps4FE0.tmp 

    注意:MD5: dbe7e5e820377c29d8681005065e5728,下载完成后需要校验。

     

    1.7.2  OS路径设置

    我们约定

    项目

    source db

    db 类型

    MySQL 5.7.19

    db version

    5.7.19

    db 存储

    Linux 文件系统

    OS版本及kernel版本

    RHEL 6.5

    OS主机名

    LHRDB

    OS IP地址

    192.168.59.159

    安装文件下载目录

    /tmp/mysql5719

    MySQL目录安装位置

    /var/lib/mysql57/mysql5719

    数据库保存位置

    /var/lib/mysql57/mysql5719/data

    日志保存位置

    /var/lib/mysql57/mysql5719/log

    配置文件地址

    /etc/my.cnf

    需要注意的是,安装文件解压后大小大约为2.6G,比MySQL 5.6大多了,我记得5.6版本解压后还不到1G。所以,这里安装目录给5G大小。

     

    下面开始准备OS。使用以前就安装好的OS,文件系统采用逻辑卷的管理方式,如下所示:

    [root@LHRDB ~]# df -h

    Filesystem                    Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00  9.9G  4.9G  4.6G  52% /

    tmpfs                         2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                     194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01  3.0G   70M  2.8G   3% /tmp

    /dev/mapper/vg_rootlhr-Vol03  3.0G   69M  2.8G   3% /home

    .host:/                       331G  272G   59G  83% /mnt/hgfs

    [root@LHRDB ~]# lvs

      LV    VG         Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

      Vol00 vg_rootlhr -wi-ao---- 10.00g                                            

      Vol01 vg_rootlhr -wi-ao----  3.00g                                            

      Vol02 vg_rootlhr -wi-ao----  2.00g                                            

      Vol03 vg_rootlhr -wi-ao----  3.00g                                            

    [root@LHRDB ~]# pvs

      PV         VG         Fmt  Attr PSize  PFree

      /dev/sda2  vg_rootlhr lvm2 a--  10.00g     0

      /dev/sda3  vg_rootlhr lvm2 a--   9.80g  1.80g

      /dev/sdb1             lvm2 a--  10.00g 10.00g

      /dev/sdb10            lvm2 a--  10.00g 10.00g

      /dev/sdb11            lvm2 a--   9.99g  9.99g

      /dev/sdb2             lvm2 a--  10.00g 10.00g

      /dev/sdb3             lvm2 a--  10.00g 10.00g

      /dev/sdb5             lvm2 a--  10.00g 10.00g

      /dev/sdb6             lvm2 a--  10.00g 10.00g

      /dev/sdb7             lvm2 a--  10.00g 10.00g

      /dev/sdb8             lvm2 a--  10.00g 10.00g

      /dev/sdb9             lvm2 a--  10.00g 10.00g

    [root@LHRDB ~]# vgs

      VG         #PV #LV #SN Attr   VSize  VFree

      vg_rootlhr   2   4   0 wz--n- 19.80g 1.80g

    [root@LHRDB ~]# vgcreate vg_mysqlsoft /dev/sdb1

      Volume group "vg_mysqlsoft" successfully created

    [root@LHRDB ~]# vgs

      VG           #PV #LV #SN Attr   VSize  VFree

      vg_mysqlsoft   1   0   0 wz--n- 10.00g 10.00g

      vg_rootlhr     2   4   0 wz--n- 19.80g  1.80g

    [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft

      Logical volume "lv_mysqlsoft_57" created

    [root@LHRDB ~]# lvs

      LV              VG           Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

      lv_mysqlsoft_57 vg_mysqlsoft -wi-a-----  5.00g                                            

      Vol00           vg_rootlhr   -wi-ao---- 10.00g                                            

      Vol01           vg_rootlhr   -wi-ao----  3.00g                                            

      Vol02           vg_rootlhr   -wi-ao----  2.00g                                            

      Vol03           vg_rootlhr   -wi-ao----  3.00g

    [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57

    mke2fs 1.41.12 (17-May-2010)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    Stride=0 blocks, Stripe width=0 blocks

    327680 inodes, 1310720 blocks

    65536 blocks (5.00%) reserved for the super user

    First data block=0

    Maximum filesystem blocks=1342177280

    40 block groups

    32768 blocks per group, 32768 fragments per group

    8192 inodes per group

    Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912, 819200, 884736

     

    Writing inode tables: done                           

    Creating journal (32768 blocks): done

    Writing superblocks and filesystem accounting information: done

     

    This filesystem will be automatically checked every 32 mounts or

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    [root@LHRDB ~]# mkdir -p /tmp/mysql5719

    [root@LHRDB ~]# mkdir -p /var/lib/mysql57

    [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_57  /var/lib/mysql57/

    [root@LHRDB ~]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.9G  4.6G  52% /

    tmpfs                                     2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  680M  2.2G  24% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    .host:/                                   331G  272G   59G  83% /mnt/hgfs

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  138M  4.6G   3% /var/lib/mysql57

    [root@LHRDB ~]# vi /etc/fstab

    [root@LHRDB ~]# more /etc/fstab

    # /etc/fstab

    # Created by anaconda on Sat Jan 14 18:56:24 2017

    #

    # Accessible filesystems, by reference, are maintained under '/dev/disk'

    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

    #

    /dev/mapper/vg_rootlhr-Vol00 /                       ext4    defaults        1 1

    UUID=fccf51c1-2d2f-4152-baac-99ead8cfbc1a /boot                   ext4    defaults        1 2

    /dev/mapper/vg_rootlhr-Vol01 /tmp                    ext4    defaults        1 2

    /dev/mapper/vg_rootlhr-Vol02 swap                    swap    defaults        0 0

    tmpfs                   /dev/shm                tmpfs   defaults,size=2G        0 0

    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

    sysfs                   /sys                    sysfs   defaults        0 0

    proc                    /proc                   proc    defaults        0 0

    /dev/vg_rootlhr/Vol03 /home  ext4 defaults        0 0

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  /var/lib/mysql57  ext4    defaults  0 0

     

     

    1.7.2.1  OS设置

    关闭iptables防火墙:

    临时关闭:service iptables stop

    永久关闭:chkconfig iptables off

     

     

    关闭selinux

    vi /etc/sysconfig/selinux

     

    SELINUX修改为DISABLED,即SELINUX=DISABLED

    1.7.3  上传文件并校验MD5

    wps4FE1.tmp 

    [root@LHRDB ~]# cd /tmp/mysql5719/

    [root@LHRDB mysql5719]# ll

    total 625640

    -rw-r--r--. 1 root root 640650826 Aug 23 10:48 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

    [root@LHRDB mysql5719]# md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz 

    dbe7e5e820377c29d8681005065e5728  mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

     

    和官网的MD5保持一致,说明安装文件的下载和上传过程没有问题:

    Compressed TAR Archive

    5.7.19

    611.0M

    Download

    (mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz)

    MD5: dbe7e5e820377c29d8681005065e5728 | Signature

    wps4FE2.tmp 

     

    1.7.4  安装

    [root@LHRDB mysql5719]# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisam_ftdump

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisamchk

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisamlog

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisampack

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_client_test_embedded

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_config_editor

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_embedded

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_install_db

    mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_plugin

    。。。。。。。 省略部分。。。。。。。。

    mysql-5.7.19-linux-glibc2.12-x86_64/lib/libmysqlclient.so.20

    mysql-5.7.19-linux-glibc2.12-x86_64/lib/libmysqlclient.so.20.3.6

    mysql-5.7.19-linux-glibc2.12-x86_64/share/install_rewriter.sql

    mysql-5.7.19-linux-glibc2.12-x86_64/share/uninstall_rewriter.sql

    mysql-5.7.19-linux-glibc2.12-x86_64/support-files/magic

    mysql-5.7.19-linux-glibc2.12-x86_64/support-files/mysql.server

    mysql-5.7.19-linux-glibc2.12-x86_64/docs/INFO_BIN

    mysql-5.7.19-linux-glibc2.12-x86_64/docs/INFO_SRC

    [root@LHRDB mysql5719]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.9G  4.6G  52% /

    tmpfs                                     2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  680M  2.2G  24% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    .host:/                                   331G  272G   59G  83% /mnt/hgfs

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.6G  2.2G  55% /var/lib/mysql57

     

     

    1.7.5  重命名安装后的文件夹

    [root@LHRDB ~]# cd /var/lib/mysql57/

    [root@LHRDB mysql57]# ll

    total 20

    drwx------. 2 root root 16384 Aug 23 13:21 lost+found

    drwxr-xr-x. 9 root root  4096 Aug 23 13:28 mysql-5.7.19-linux-glibc2.12-x86_64

    [root@LHRDB mysql57]# mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719

    [root@LHRDB mysql57]# ll

    total 20

    drwx------. 2 root root 16384 Aug 23 13:21 lost+found

    drwxr-xr-x. 9 root root  4096 Aug 23 13:28 mysql5719

    [root@LHRDB mysql57]#

     

     

    也可以使用ln连接:

    ln –s mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719

     

    1.7.6  新建数据和日志文件目录

    [root@LHRDB mysql57]# mkdir -p /var/lib/mysql57/mysql5719/data

    [root@LHRDB mysql57]# mkdir -p /var/lib/mysql57/mysql5719/log

     

    1.7.7  用户和组设置

    groupadd mysql      ## 添加一个mysql

    useradd -r -g mysql mysql    ## 添加一个用户

    useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用户禁止登录shell

    [root@LHRDB ~]# groupadd mysql

    groupadd: group 'mysql' already exists

    [root@LHRDB ~]# useradd -r -g mysql mysql

    useradd: user 'mysql' already exists

     

    说明本身就有mysql用户和组。

    1.7.8  改变目录属有者

    [root@LHRDB mysql57]# chown –R mysql.mysql /var/lib/mysql57

    chown: invalid user: `226R'

    [root@LHRDB mysql57]# cd ..

    [root@LHRDB lib]# chown –R mysql.mysql /var/lib/mysql57

     

    1.7.9  初始化MySQL

    注意:MySQL 5.7.6之后的版本初始化数据库不再使用mysql_install_db,但是在MySQL 5.7.19里依然保留着这个文件。

    官网:https://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html

    mysql_install_db is deprecated as of MySQL 5.7.6 because its functionality has been integrated into mysqld, the MySQL server. To initialize a MySQL installation, invoke mysqld with the --initialize or --initialize-insecure option. For more information, see Section 2.10.1.1, “Initializing the Data Directory Manually Using mysqld”. mysql_install_db will be removed in a future MySQL release.

    [root@LHRDB mysql5719]# ll

    total 60

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:27 bin

    -rw-r--r--.  1 mysql mysql 17987 Jun 22 22:13 COPYING

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:35 data

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:28 docs

    drwxr-xr-x.  3 mysql mysql  4096 Aug 23 13:27 include

    drwxr-xr-x.  5 mysql mysql  4096 Aug 23 13:28 lib

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:35 log

    drwxr-xr-x.  4 mysql mysql  4096 Aug 23 13:27 man

    -rw-r--r--.  1 mysql mysql  2478 Jun 22 22:13 README

    drwxr-xr-x. 28 mysql mysql  4096 Aug 23 13:28 share

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:28 support-files

    [root@LHRDB mysql5719]# ./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719  --datadir=/var/lib/mysql57/mysql5719/data

    2017-08-23T05:45:58.820448Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

    2017-08-23T05:45:59.123446Z 0 [Warning] InnoDB: New log files created, LSN=45790

    2017-08-23T05:45:59.197904Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

    2017-08-23T05:45:59.273227Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 571ab53c-87c6-11e7-ab76-000c291823c2.

    2017-08-23T05:45:59.276384Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

    2017-08-23T05:45:59.277461Z 1 [Note] A temporary password is generated for root@localhost: k;A3Dktywkyj

    [root@LHRDB mysql5719]#

     

    这里生成的临时密码为:k;A3Dktywkyj

    该过程会在data目录下生成默认数据库:

    [root@LHRDB mysql5719]# cd data

    [root@LHRDB data]# ll

    total 110620

    -rw-r-----. 1 mysql mysql       56 Aug 23 13:45 auto.cnf

    -rw-r-----. 1 mysql mysql      420 Aug 23 13:46 ib_buffer_pool

    -rw-r-----. 1 mysql mysql 12582912 Aug 23 13:46 ibdata1

    -rw-r-----. 1 mysql mysql 50331648 Aug 23 13:46 ib_logfile0

    -rw-r-----. 1 mysql mysql 50331648 Aug 23 13:45 ib_logfile1

    drwxr-x---. 2 mysql mysql     4096 Aug 23 13:45 mysql

    drwxr-x---. 2 mysql mysql     4096 Aug 23 13:45 performance_schema

    drwxr-x---. 2 mysql mysql    12288 Aug 23 13:46 sys

    [root@LHRDB data]# du -sh .

    122M    .

     

    1.7.10  生成秘钥

    创建SSL和RSA文件,关于这部分更多请参考:https://dev.mysql.com/doc/refman/5.7/en/mysql-ssl-rsa-setup.html也可以不执行这个步骤。

    [root@LHRDB mysql5719]# ./bin/mysql_ssl_rsa_setup --datadir=/var/lib/mysql57/mysql5719/data

    Generating a 2048 bit RSA private key

    ................................................................................................................+++

    ............................+++

    writing new private key to 'ca-key.pem'

    -----

    Generating a 2048 bit RSA private key

    ......................................+++

    .................+++

    writing new private key to 'server-key.pem'

    -----

    Generating a 2048 bit RSA private key

    ........................+++

    .................................................................+++

    writing new private key to 'client-key.pem'

    -----

     

     

     

    1.7.11  配置/etc/my.cnf

    生产库上根据需要配置更多参数:

    [root@LHRDB support-files]# more /etc/my.cnf

    [client]

    port=3306

    socket=/var/lib/mysql57/mysql.sock

    [mysqld]

    basedir=/var/lib/mysql57/mysql5719

    datadir=/var/lib/mysql57/mysql5719/data

    socket=/var/lib/mysql57/mysql.sock

    user=mysql

    # Disabling symbolic-links is recommended to prevent assorted security risks

    symbolic-links=0

     

    [mysqld_safe]

    log-error=/var/lib/mysql57/mysql5719/log/mysqld.log

    pid-file=/var/lib/mysql57/mysql5719/data/mysqld.pid

    1.7.12  配置开机启动文件

    [root@LHRDB mysql5719]# cd support-files/

    [root@LHRDB support-files]# ll

    total 24

    -rw-r--r--. 1 mysql mysql   773 Jun 22 22:13 magic

    -rwxr-xr-x. 1 mysql mysql  1061 Jun 22 22:54 mysqld_multi.server

    -rwxr-xr-x. 1 mysql mysql   894 Jun 22 22:54 mysql-log-rotate

    -rwxr-xr-x. 1 mysql mysql 10576 Jun 22 22:54 mysql.server

    [root@LHRDB support-files]# cp mysql.server /etc/init.d/mysql57

    [root@LHRDB support-files]# chmod 755 /etc/init.d/mysql57

    [root@LHRDB support-files]# chkconfig --add mysql57

    [root@LHRDB support-files]# chkconfig mysql57 on

    [root@LHRDB support-files]# chkconfig --level 345 mysql57 on

     

     

    注意:这里的MySQL服务为mysql57

    1.7.13  启动MySQL

    [root@LHRDB support-files]# service mysql57 start

    Starting MySQL.2017-08-23T06:18:23.060126Z mysqld_safe error: log-error set to '/var/lib/mysql57/mysql5719/log/mysqld.log', however file don't exists. Create writable for user 'mysql'.

    The server quit without updating PID file (/var/lib/mysql57/mysql5719/data/LHRDB.pid).[FAILED]

    [root@LHRDB support-files]# cd /var/lib/mysql57/mysql5719/log/

    [root@LHRDB log]# ll

    total 0

    [root@LHRDB log]# cd ..

    [root@LHRDB mysql5719]# ll

    total 60

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:27 bin

    -rw-r--r--.  1 mysql mysql 17987 Jun 22 22:13 COPYING

    drwxr-xr-x.  5 mysql mysql  4096 Aug 23 13:46 data

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:28 docs

    drwxr-xr-x.  3 mysql mysql  4096 Aug 23 13:27 include

    drwxr-xr-x.  5 mysql mysql  4096 Aug 23 13:28 lib

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:35 log

    drwxr-xr-x.  4 mysql mysql  4096 Aug 23 13:27 man

    -rw-r--r--.  1 mysql mysql  2478 Jun 22 22:13 README

    drwxr-xr-x. 28 mysql mysql  4096 Aug 23 13:28 share

    drwxr-xr-x.  2 mysql mysql  4096 Aug 23 13:28 support-files

    [root@LHRDB mysql5719]# echo '' > /var/lib/mysql57/mysql5719/log/mysqld.log

    [root@LHRDB mysql5719]# chown mysql.mysql /var/lib/mysql57/mysql5719/log/mysqld.log

    [root@LHRDB mysql5719]# service mysql57 start

    Starting MySQL.[  OK  ]

    [root@LHRDB mysql5719]# ps -ef|grep mysql

    root     18194     1  0 14:20 pts/1    00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --datadir=/var/lib/mysql57/mysql5719/data --pid-file=/var/lib/mysql57/mysql5719/data/LHRDB.pid

    mysql    18370 18194  0 14:20 pts/1    00:00:00 /var/lib/mysql57/mysql5719/bin/mysqld --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --plugin-dir=/var/lib/mysql57/mysql5719/lib/plugin --user=mysql --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --pid-file=/var/lib/mysql57/mysql5719/data/LHRDB.pid --socket=/var/lib/mysql57/mysql.sock

    root     18407 13196  0 14:21 pts/1    00:00:00 grep mysql

    [root@LHRDB mysql5719]#

     

     

     

    或者:

    [root@LHRDB ~]# which mysqld_safe

    /var/lib/mysql57/mysql5719/bin/mysqld_safe

    [root@LHRDB ~]# mysqld_safe --user=mysql &

    [1] 18674

    [root@LHRDB ~]# 2017-08-23T06:40:04.996137Z mysqld_safe Logging to '/var/lib/mysql57/mysql5719/log/mysqld.log'.

    2017-08-23T06:40:05.053483Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql57/mysql5719/data

     

     

    1.7.14  配置环境变量

    编辑文件/etc/profile,在最后添加如下的内容:

    MYSQL_HOME=/var/lib/mysql57/mysql5719

    PATH=$PATH:$MYSQL_HOME/bin

     

    让环境变量生效:source /etc/profile

     

    1.7.15  登录MySQL并修改密码

    [root@LHRDB ~]# mysql -p

    Enter password:     ---》临时密码为:k;A3Dktywkyj

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

    Your MySQL connection id is 3

    Server version: 5.7.19

     

    Copyright (c) 2000, 2017, 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>

    mysql> show databases;

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

     

    mysql> set password=password('lhr');

    Query OK, 0 rows affected, 1 warning (0.02 sec)

     

    mysql> show databases;

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

    | Database           |

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

    | information_schema |

    | mysql              |

    | performance_schema |

    | sys                |

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

    4 rows in set (0.04 sec)

     

    修改密码也可以用:update mysql.user set authentication_string=password('lhr') where user='root';

     

    1.7.16  设置远程登录

    mysql> grant all privileges on *.* to root@'%' identified by 'lhr';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

     

    mysql> select host,user from mysql.user;

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

    | host      | user          |

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

    | %         | root          |

    | localhost | mysql.session |

    | localhost | mysql.sys     |

    | localhost | root          |

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

    4 rows in set (0.00 sec)

     

    [root@LHRDB ~]# mysql -uroot -plhr -h192.168.59.159

    mysql: [Warning] Using a password on the command line interface can be insecure.

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

    Your MySQL connection id is 4

    Server version: 5.7.19 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2017, 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>

     

     

     

    1.7.17  Windows远程登录

    Windows下远程登录:

    D:Usersxiaomaimiao>mysql -uroot -plhr -h192.168.59.159

    Warning: Using a password on the command line interface can be insecure.

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

    Your MySQL connection id is 6

    Server version: 5.7.19 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2014, 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>

     

     

    可能会出现下面的错误:

    D:Usersxiaomaimiao>mysql -uroot -plhr -h192.168.59.159

    Warning: Using a password on the command line interface can be insecure.

    ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.59.159' (10060)

     

    原因:主机192.168.59.159上的防火墙未关闭

    解决办法:关闭防火墙,以下2个命令都需要执行:

    chkconfig iptables off   ---永久

    service iptables stop    ---临时

     

    1.7.18  客户端工具登录

     

    1.7.18.1  Navicat for MySQL

    wps4FF3.tmp 

     

     

    wps4FF4.tmp 

    1.7.18.2  MySQLWorkbench

    MySQL官方提供的工具,还是比较实用的:

    wps4FF5.tmp 

    wps5006.tmp 

    该工具比较强大,有很多的实用功能:

    wps5007.tmp 

    1.8  MySQL 5.6安装

    1.8.1  下载

    wps5008.tmp 

     

    1.8.2  OS路径设置

    [root@LHRDB ~]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.8G  4.6G  51% /

    tmpfs                                     2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  681M  2.2G  24% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.7G  2.0G  58% /var/lib/mysql57

    .host:/                                   331G  272G   59G  83% /mnt/hgfs

    [root@LHRDB ~]# vgs

      VG           #PV #LV #SN Attr   VSize  VFree

      vg_mysqlsoft   1   1   0 wz--n- 10.00g 5.00g

      vg_rootlhr     2   4   0 wz--n- 19.80g 1.80g

    [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_56 -L 2G vg_mysqlsoft

      Logical volume "lv_mysqlsoft_56" created

    [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_56

    mke2fs 1.41.12 (17-May-2010)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    Stride=0 blocks, Stripe width=0 blocks

    131072 inodes, 524288 blocks

    26214 blocks (5.00%) reserved for the super user

    First data block=0

    Maximum filesystem blocks=536870912

    16 block groups

    32768 blocks per group, 32768 fragments per group

    8192 inodes per group

    Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912

     

    Writing inode tables: done                           

    Creating journal (16384 blocks): done

    Writing superblocks and filesystem accounting information: done

     

    This filesystem will be automatically checked every 36 mounts or

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    [root@LHRDB ~]# cd /usr/local/mysql

    -bash: cd: /usr/local/mysql: No such file or directory

    [root@LHRDB ~]# mkdir /usr/local/mysql56

    [root@LHRDB ~]# chown mysql /usr/local/mysql56

    [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_56  /usr/local/mysql56/

    [root@LHRDB ~]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.8G  4.6G  51% /

    tmpfs                                     2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  681M  2.2G  24% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.7G  2.0G  58% /var/lib/mysql57

    .host:/                                   331G  272G   59G  83% /mnt/hgfs

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56  2.0G   67M  1.9G   4% /usr/local/mysql56

     

     

    1.8.3  安装MySQL 5.6

    rpm的安装方式请参考:

    http://blog.itpub.net/26736162/viewspace-1349705/

    http://blog.itpub.net/26736162/viewspace-1349787/

     

    [root@LHRDB mysql56]# tar -zxvf /tmp/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql56/

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-ATIS

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-select

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/crash-me

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-wisconsin

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest1b

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest2a

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest1

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-create

    mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/bench-count-distinct

    。。。。。。。。。。。。省略。。。。。。。。。。。。。。

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/events_restart-master.opt

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/empty_table.test

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/innodb_mrr-master.opt

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/ssl_mode_no_ssl-master.opt

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/valgrind.supp

    mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/mysql-test-run.pl

    [root@LHRDB mysql56]# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql5637

    [root@LHRDB mysql56]# cd mysql5637/

    [root@LHRDB mysql5637]# ll

    total 68

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 bin

    -rw-r--r--  1 mysql mysql 17987 Jun  3 01:42 COPYING

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 data

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 docs

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 include

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 lib

    drwxr-xr-x  4 mysql mysql  4096 Aug 25 18:24 man

    drwxr-xr-x 10 mysql mysql  4096 Aug 25 18:24 mysql-test

    -rw-r--r--  1 mysql mysql  2496 Jun  3 01:42 README

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 scripts

    drwxr-xr-x 28 mysql mysql  4096 Aug 25 18:24 share

    drwxr-xr-x  4 mysql mysql  4096 Aug 25 18:24 sql-bench

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 support-files

    [root@LHRDB mysql5637]# mkdir log

    [root@LHRDB mysql5637]# chown mysql.mysql log

    [root@LHRDB mysql5637]# ll

    total 72

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 bin

    -rw-r--r--  1 mysql mysql 17987 Jun  3 01:42 COPYING

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 data

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 docs

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 include

    drwxr-xr-x  3 mysql mysql  4096 Aug 25 18:24 lib

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:32 log

    drwxr-xr-x  4 mysql mysql  4096 Aug 25 18:24 man

    drwxr-xr-x 10 mysql mysql  4096 Aug 25 18:24 mysql-test

    -rw-r--r--  1 mysql mysql  2496 Jun  3 01:42 README

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 scripts

    drwxr-xr-x 28 mysql mysql  4096 Aug 25 18:24 share

    drwxr-xr-x  4 mysql mysql  4096 Aug 25 18:24 sql-bench

    drwxr-xr-x  2 mysql mysql  4096 Aug 25 18:24 support-files

     

     

     

    1.8.4  初始化

    [root@LHRDB mysql5637]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data

    Installing MySQL system tables...2017-08-25 18:37:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

    2017-08-25 18:37:13 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.

    2017-08-25 18:37:13 0 [Note] /usr/local/mysql56/mysql5637/bin/mysqld (mysqld 5.6.37) starting as process 17757 ...

    2017-08-25 18:37:13 17757 [Note] InnoDB: Using atomics to ref count buffer pool pages

    2017-08-25 18:37:13 17757 [Note] InnoDB: The InnoDB memory heap is disabled

    2017-08-25 18:37:13 17757 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

    2017-08-25 18:37:13 17757 [Note] InnoDB: Memory barrier is not used

    2017-08-25 18:37:13 17757 [Note] InnoDB: Compressed tables use zlib 1.2.3

    2017-08-25 18:37:13 17757 [Note] InnoDB: Using Linux native AIO

    2017-08-25 18:37:13 17757 [Note] InnoDB: Using CPU crc32 instructions

    2017-08-25 18:37:13 17757 [Note] InnoDB: Initializing buffer pool, size = 128.0M

    2017-08-25 18:37:13 17757 [Note] InnoDB: Completed initialization of buffer pool

    2017-08-25 18:37:13 17757 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

    2017-08-25 18:37:13 17757 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

    2017-08-25 18:37:13 17757 [Note] InnoDB: Database physically writes the file full: wait...

    2017-08-25 18:37:13 17757 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

    2017-08-25 18:37:13 17757 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

    2017-08-25 18:37:13 17757 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

    2017-08-25 18:37:13 17757 [Warning] InnoDB: New log files created, LSN=45781

    2017-08-25 18:37:13 17757 [Note] InnoDB: Doublewrite buffer not found: creating new

    2017-08-25 18:37:13 17757 [Note] InnoDB: Doublewrite buffer created

    2017-08-25 18:37:13 17757 [Note] InnoDB: 128 rollback segment(s) are active.

    2017-08-25 18:37:13 17757 [Warning] InnoDB: Creating foreign key constraint system tables.

    2017-08-25 18:37:13 17757 [Note] InnoDB: Foreign key constraint system tables created

    2017-08-25 18:37:13 17757 [Note] InnoDB: Creating tablespace and datafile system tables.

    2017-08-25 18:37:13 17757 [Note] InnoDB: Tablespace and datafile system tables created.

    2017-08-25 18:37:13 17757 [Note] InnoDB: Waiting for purge to start

    2017-08-25 18:37:13 17757 [Note] InnoDB: 5.6.37 started; log sequence number 0

    2017-08-25 18:37:14 17757 [Note] Binlog end

    2017-08-25 18:37:14 17757 [Note] InnoDB: FTS optimize thread exiting.

    2017-08-25 18:37:14 17757 [Note] InnoDB: Starting shutdown...

    2017-08-25 18:37:15 17757 [Note] InnoDB: Shutdown completed; log sequence number 1625977

    OK

     

    Filling help tables...2017-08-25 18:37:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

    2017-08-25 18:37:15 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.

    2017-08-25 18:37:15 0 [Note] /usr/local/mysql56/mysql5637/bin/mysqld (mysqld 5.6.37) starting as process 17779 ...

    2017-08-25 18:37:15 17779 [Note] InnoDB: Using atomics to ref count buffer pool pages

    2017-08-25 18:37:15 17779 [Note] InnoDB: The InnoDB memory heap is disabled

    2017-08-25 18:37:15 17779 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

    2017-08-25 18:37:15 17779 [Note] InnoDB: Memory barrier is not used

    2017-08-25 18:37:15 17779 [Note] InnoDB: Compressed tables use zlib 1.2.3

    2017-08-25 18:37:15 17779 [Note] InnoDB: Using Linux native AIO

    2017-08-25 18:37:15 17779 [Note] InnoDB: Using CPU crc32 instructions

    2017-08-25 18:37:15 17779 [Note] InnoDB: Initializing buffer pool, size = 128.0M

    2017-08-25 18:37:15 17779 [Note] InnoDB: Completed initialization of buffer pool

    2017-08-25 18:37:15 17779 [Note] InnoDB: Highest supported file format is Barracuda.

    2017-08-25 18:37:15 17779 [Note] InnoDB: 128 rollback segment(s) are active.

    2017-08-25 18:37:15 17779 [Note] InnoDB: Waiting for purge to start

    2017-08-25 18:37:15 17779 [Note] InnoDB: 5.6.37 started; log sequence number 1625977

    2017-08-25 18:37:15 17779 [Note] Binlog end

    2017-08-25 18:37:15 17779 [Note] InnoDB: FTS optimize thread exiting.

    2017-08-25 18:37:15 17779 [Note] InnoDB: Starting shutdown...

    2017-08-25 18:37:17 17779 [Note] InnoDB: Shutdown completed; log sequence number 1625987

    OK

     

    To start mysqld at boot time you have to copy

    support-files/mysql.server to the right place for your system

     

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

    To do so, start the server, then issue the following commands:

     

      /usr/local/mysql56/mysql5637/bin/mysqladmin -u root password 'new-password'

      /usr/local/mysql56/mysql5637/bin/mysqladmin -u root -h LHRDB password 'new-password'

     

    Alternatively you can run:

     

      /usr/local/mysql56/mysql5637/bin/mysql_secure_installation

     

    which will also give you the option of removing the test

    databases and anonymous user created by default.  This is

    strongly recommended for production servers.

     

    See the manual for more instructions.

     

    You can start the MySQL daemon with:

     

      cd . ; /usr/local/mysql56/mysql5637/bin/mysqld_safe &

     

    You can test the MySQL daemon with mysql-test-run.pl

     

      cd mysql-test ; perl mysql-test-run.pl

     

    Please report any problems at http://bugs.mysql.com/

     

    The latest information about MySQL is available on the web at

     

      http://www.mysql.com

     

    Support MySQL by buying support/licenses at http://shop.mysql.com

     

    New default config file was created as /usr/local/mysql56/mysql5637/my.cnf and

    will be used by default by the server when you start it.

    You may edit this file to change server settings

     

    WARNING: Default config file /etc/my.cnf exists on the system

    This file will be read by default by the MySQL server

    If you do not want to use this, either remove it, or use the

    --defaults-file argument to mysqld_safe when starting the server

    [root@LHRDB mysql5637]# cd data

    [root@LHRDB data]# ll

    total 110604

    -rw-rw---- 1 mysql mysql 12582912 Aug 25 18:37 ibdata1

    -rw-rw---- 1 mysql mysql 50331648 Aug 25 18:37 ib_logfile0

    -rw-rw---- 1 mysql mysql 50331648 Aug 25 18:37 ib_logfile1

    drwx------ 2 mysql mysql     4096 Aug 25 18:37 mysql

    drwx------ 2 mysql mysql     4096 Aug 25 18:37 performance_schema

    drwxr-xr-x 2 mysql mysql     4096 Aug 25 18:24 test

     

     

    1.8.5  配置参数文件并启动MySQL

    [root@LHRDB mysql5637]# more ./support-files/my.cnf

    [mysqld]

    basedir=/usr/local/mysql56/mysql5637

    datadir=/usr/local/mysql56/mysql5637/data

    socket=/usr/local/mysql56/mysql5637/mysql.sock

    log-error=/usr/local/mysql56/mysql5637/log/mysqld.log

    user=mysql

    port=3307

    [root@LHRDB mysql5637]# echo '' > /usr/local/mysql56/mysql5637/log/mysqld.log

    [root@LHRDB mysql5637]# ./bin/mysqld_safe --defaults-file=./support-files/my.cnf &

    [2] 13852

    [root@LHRDB mysql5637]# 170827 17:52:15 mysqld_safe Logging to '/usr/local/mysql56/mysql5637/log/mysqld.log'.

    170827 17:52:15 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql56/mysql5637/data

     

    [root@LHRDB mysql5637]# ps -ef|grep mysql

    root     13195 13170  0 17:35 pts/0    00:00:00 tail -f /var/lib/mysql57/mysql5719/log/mysqld_multi.log

    root     13671 13198  0 17:45 pts/1    00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf

    mysql    13811 13671  0 17:45 pts/1    00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308

    root     13852 13198  0 17:52 pts/1    00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf

    mysql    13990 13852 10 17:52 pts/1    00:00:00 /usr/local/mysql56/mysql5637/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --plugin-dir=/usr/local/mysql56/mysql5637/lib/plugin --user=mysql --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql56/mysql5637/mysql.sock --port=3307

    root     14015 13198  0 17:52 pts/1    00:00:00 grep mysql

     

     

    1.8.6  修改密码

    MySQL 5.6的二进制安装默认密码为空。

    set password=password('lhr');

    [root@LHRDB mysql5719]# mysql -uroot  --socket=/usr/local/mysql56/mysql5637/mysql.sock -p

    Enter password:

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

    Your MySQL connection id is 4

    Server version: 5.6.37 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2017, 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> set password=password("lhr");

    Query OK, 0 rows affected (0.02 sec)

     

    mysql> show databases;

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

    | Database           |

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

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

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

    4 rows in set (0.00 sec)

     

     

     

    1.8.7  设置远程登录

    mysql> select host,user from mysql.user;

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

    | host      | user |

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

    | 127.0.0.1 | root |

    | ::1       | root |

    | lhrdb     |      |

    | lhrdb     | root |

    | localhost |      |

    | localhost | root |

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

    6 rows in set (0.00 sec)

     

    mysql> grant all privileges on *.* to root@'%' identified by 'lhr';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

     

    mysql> select host,user from mysql.user;

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

    | host      | user |

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

    | %         | root |

    | 127.0.0.1 | root |

    | ::1       | root |

    | lhrdb     |      |

    | lhrdb     | root |

    | localhost |      |

    | localhost | root |

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

     

     

     

     

    1.8.8  远程登录

    D:Usersxiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P 3307

    Warning: Using a password on the command line interface can be insecure.

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

    Your MySQL connection id is 6

    Server version: 5.6.37 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2014, 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>

     

     

     

    1.9  MySQL 5.5安装

    1.9.1  下载

    wps5018.tmp 

     

    1.9.2  OS路径设置

    [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_55 -L 2G vg_mysqlsoft

      Logical volume "lv_mysqlsoft_55" created

    [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_55

    mke2fs 1.41.12 (17-May-2010)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    Stride=0 blocks, Stripe width=0 blocks

    131072 inodes, 524288 blocks

    26214 blocks (5.00%) reserved for the super user

    First data block=0

    Maximum filesystem blocks=536870912

    16 block groups

    32768 blocks per group, 32768 fragments per group

    8192 inodes per group

    Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912

     

    Writing inode tables: done                           

    Creating journal (16384 blocks): done

    Writing superblocks and filesystem accounting information: done

     

    This filesystem will be automatically checked every 24 mounts or

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    [root@LHRDB ~]# mkdir /usr/local/mysql55

    [root@LHRDB ~]# chown mysql /usr/local/mysql55

    [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_55  /usr/local/mysql55/

    [root@LHRDB ~]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.8G  4.6G  52% /

    tmpfs                                     2.0G   68K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  1.1G  1.8G  40% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.7G  2.0G  58% /var/lib/mysql57

    .host:/                                   331G  272G   59G  83% /mnt/hgfs

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56  2.0G   67M  1.9G   4% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55  2.0G   67M  1.9G   4% /usr/local/mysql55

     

     

     

    1.9.3  安装MySQL 5.5

    [root@LHRDB mysql56]# tar -zxvf /tmp/mysql-5.5.57-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql55

    mysql-5.5.57-linux-glibc2.12-x86_64/scripts/mysql_install_db

    mysql-5.5.57-linux-glibc2.12-x86_64/INSTALL-BINARY

    mysql-5.5.57-linux-glibc2.12-x86_64/share/slovak/errmsg.sys

    mysql-5.5.57-linux-glibc2.12-x86_64/share/norwegian/errmsg.sys

    mysql-5.5.57-linux-glibc2.12-x86_64/share/fill_help_tables.sql

    mysql-5.5.57-linux-glibc2.12-x86_64/share/spanish/errmsg.sys

    mysql-5.5.57-linux-glibc2.12-x86_64/share/czech/errmsg.sys

    mysql-5.5.57-linux-glibc2.12-x86_64/share/dutch/errmsg.sys

    。。。。。。。。。。。。省略。。。。。。。。。。。。。。

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_null-master.opt

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_warnings_win.test

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_error.test

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_null.test

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_warnings.test

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings.result

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_error.result

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings_win.result

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_null.result

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/cert_verify.result

    mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings_not_win.result

    [root@LHRDB tmp]# cd /usr/local/mysql55

    [root@LHRDB mysql55]# ll

    total 4

    drwxr-xr-x 13 root root 4096 Aug 27 17:07 mysql-5.5.57-linux-glibc2.12-x86_64

    [root@LHRDB mysql55]#

    [root@LHRDB mysql55]# mv mysql-5.5.57-linux-glibc2.12-x86_64 mysql5557

    [root@LHRDB mysql55]# cd mysql5557/

    [root@LHRDB mysql5557]# ll

    total 72

    drwxr-xr-x  2 root root   4096 Aug 27 17:07 bin

    -rw-r--r--  1 7161 31415 17987 Jun  5 14:38 COPYING

    drwxr-xr-x  3 root root   4096 Aug 27 17:07 data

    drwxr-xr-x  2 root root   4096 Aug 27 17:07 docs

    drwxr-xr-x  3 root root   4096 Aug 27 17:07 include

    -rw-r--r--  1 7161 31415   301 Jun  5 14:38 INSTALL-BINARY

    drwxr-xr-x  3 root root   4096 Aug 27 17:07 lib

    drwxr-xr-x  4 root root   4096 Aug 27 17:07 man

    drwxr-xr-x 10 root root   4096 Aug 27 17:07 mysql-test

    -rw-r--r--  1 7161 31415  2496 Jun  5 14:38 README

    drwxr-xr-x  2 root root   4096 Aug 27 17:07 scripts

    drwxr-xr-x 27 root root   4096 Aug 27 17:07 share

    drwxr-xr-x  4 root root   4096 Aug 27 17:07 sql-bench

    drwxr-xr-x  2 root root   4096 Aug 27 17:07 support-files

    [root@LHRDB mysql5557]# mkdir log

    [root@LHRDB mysql5557]# cd ..

    [root@LHRDB mysql55]# chown mysql.mysql .

    [root@LHRDB mysql55]# chown -R mysql.mysql .

     

     

     

    1.9.4  初始化

    [root@LHRDB mysql5557]# ll

    total 76

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 bin

    -rw-r--r--  1 mysql mysql 17987 Jun  5 14:38 COPYING

    drwxr-xr-x  3 mysql mysql  4096 Aug 27 17:07 data

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 docs

    drwxr-xr-x  3 mysql mysql  4096 Aug 27 17:07 include

    -rw-r--r--  1 mysql mysql   301 Jun  5 14:38 INSTALL-BINARY

    drwxr-xr-x  3 mysql mysql  4096 Aug 27 17:07 lib

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:10 log

    drwxr-xr-x  4 mysql mysql  4096 Aug 27 17:07 man

    drwxr-xr-x 10 mysql mysql  4096 Aug 27 17:07 mysql-test

    -rw-r--r--  1 mysql mysql  2496 Jun  5 14:38 README

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 scripts

    drwxr-xr-x 27 mysql mysql  4096 Aug 27 17:07 share

    drwxr-xr-x  4 mysql mysql  4096 Aug 27 17:07 sql-bench

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 support-files

    [root@LHRDB mysql5557]# pwd

    /usr/local/mysql55/mysql5557

    [root@LHRDB mysql5557]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data

    Installing MySQL system tables...

    170827 17:12:09 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.

    170827 17:12:09 [Note] /usr/local/mysql55/mysql5557/bin/mysqld (mysqld 5.5.57) starting as process 19995 ...

    OK

    Filling help tables...

    170827 17:12:10 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.

    170827 17:12:10 [Note] /usr/local/mysql55/mysql5557/bin/mysqld (mysqld 5.5.57) starting as process 20002 ...

    OK

     

    To start mysqld at boot time you have to copy

    support-files/mysql.server to the right place for your system

     

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

    To do so, start the server, then issue the following commands:

     

    /usr/local/mysql55/mysql5557/bin/mysqladmin -u root password 'new-password'

    /usr/local/mysql55/mysql5557/bin/mysqladmin -u root -h LHRDB password 'new-password'

     

    Alternatively you can run:

    /usr/local/mysql55/mysql5557/bin/mysql_secure_installation

     

    which will also give you the option of removing the test

    databases and anonymous user created by default.  This is

    strongly recommended for production servers.

     

    See the manual for more instructions.

     

    You can start the MySQL daemon with:

    cd /usr/local/mysql55/mysql5557 ; /usr/local/mysql55/mysql5557/bin/mysqld_safe &

     

    You can test the MySQL daemon with mysql-test-run.pl

    cd /usr/local/mysql55/mysql5557/mysql-test ; perl mysql-test-run.pl

     

    Please report any problems at http://bugs.mysql.com/

     

    [root@LHRDB mysql5557]# ll

    total 76

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 bin

    -rw-r--r--  1 mysql mysql 17987 Jun  5 14:38 COPYING

    drwxr-xr-x  5 mysql mysql  4096 Aug 27 17:12 data

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 docs

    drwxr-xr-x  3 mysql mysql  4096 Aug 27 17:07 include

    -rw-r--r--  1 mysql mysql   301 Jun  5 14:38 INSTALL-BINARY

    drwxr-xr-x  3 mysql mysql  4096 Aug 27 17:07 lib

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:10 log

    drwxr-xr-x  4 mysql mysql  4096 Aug 27 17:07 man

    drwxr-xr-x 10 mysql mysql  4096 Aug 27 17:07 mysql-test

    -rw-r--r--  1 mysql mysql  2496 Jun  5 14:38 README

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 scripts

    drwxr-xr-x 27 mysql mysql  4096 Aug 27 17:07 share

    drwxr-xr-x  4 mysql mysql  4096 Aug 27 17:07 sql-bench

    drwxr-xr-x  2 mysql mysql  4096 Aug 27 17:07 support-files

    [root@LHRDB mysql5557]# cd data/

    [root@LHRDB data]# ll

    total 12

    drwx------ 2 mysql root  4096 Aug 27 17:12 mysql

    drwx------ 2 mysql mysql 4096 Aug 27 17:12 performance_schema

    drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 test

    [root@LHRDB data]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.6G  4.9G  49% /

    tmpfs                                     2.0G   68K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  1.2G  1.7G  42% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.7G  2.0G  58% /var/lib/mysql57

    .host:/                                   331G  273G   58G  83% /mnt/hgfs

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56  2.0G  1.4G  575M  70% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55  2.0G  848M  1.1G  45% /usr/local/mysql55

     

     

    1.9.5  配置参数文件并启动MySQL

    [root@LHRDB support-files]# more my.cnf

    [mysqld]

    basedir=/usr/local/mysql55/mysql5557

    datadir=/usr/local/mysql55/mysql5557/data

    socket=/usr/local/mysql55/mysql5557/mysql.sock

    log-error=/usr/local/mysql55/mysql5557/log/mysqld.log

    user=mysql

    port=3308

    [root@LHRDB support-files]# cd ..

    [root@LHRDB mysql5557]#

    [root@LHRDB mysql5557]# echo '' > /usr/local/mysql55/mysql5557/log/mysqld.log

    [root@LHRDB mysql5557]#

    [root@LHRDB mysql5557]# ./bin/mysqld_safe --defaults-file=./support-files/my.cnf &

    [1] 13671

    [root@LHRDB mysql5557]# 170827 17:45:54 mysqld_safe Logging to '/usr/local/mysql55/mysql5557/log/mysqld.log'.

    170827 17:45:54 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql55/mysql5557/data

    [root@LHRDB mysql5557]# ps -ef|grep mysql

    root     13195 13170  0 17:35 pts/0    00:00:00 tail -f /var/lib/mysql57/mysql5719/log/mysqld_multi.log

    root     13671 13198  0 17:45 pts/1    00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf

    mysql    13811 13671  0 17:45 pts/1    00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308

    root     13830 13198  0 17:45 pts/1    00:00:00 grep mysql

     

     

    1.9.6  修改密码

    MySQL 5.5的二进制安装默认密码为空。

    set password=password('lhr');

    [root@LHRDB mysql5719]# mysql -uroot  --socket=/usr/local/mysql55/mysql5557/mysql.sock -p

    Enter password:

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

    Your MySQL connection id is 4

    Server version: 5.6.37 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2017, 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> set password=password("lhr");

    Query OK, 0 rows affected (0.02 sec)

     

    mysql> show databases;

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

    | Database           |

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

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

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

    4 rows in set (0.00 sec)

     

     

     

    1.9.7  设置远程登录

    mysql> select host,user from mysql.user;

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

    | host      | user |

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

    | 127.0.0.1 | root |

    | ::1       | root |

    | lhrdb     |      |

    | lhrdb     | root |

    | localhost |      |

    | localhost | root |

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

    6 rows in set (0.00 sec)

     

    mysql> grant all privileges on *.* to root@'%' identified by 'lhr';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

     

    mysql> select host,user from mysql.user;

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

    | host      | user |

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

    | %         | root |

    | 127.0.0.1 | root |

    | ::1       | root |

    | lhrdb     |      |

    | lhrdb     | root |

    | localhost |      |

    | localhost | root |

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

     

     

     

     

    1.9.8  远程登录

    D:Usersxiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P 3308

    Warning: Using a password on the command line interface can be insecure.

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

    Your MySQL connection id is 9

    Server version: 5.5.57 MySQL Community Server (GPL)

     

    Copyright (c) 2000, 2014, 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>

     

     

    1.10  配置多版本、多实例开机自启动

    1.10.1  配置/etc/my.cnf

    [root@LHRDB support-files]# more /etc/my.cnf

    [mysqld_multi]

    mysqld=mysqld_safe

    mysqladmin=/var/lib/mysql57/mysql5719/bin/mysqladmin

    log=/var/lib/mysql57/mysql5719/log/mysqld_multi.log

    user=root

    pass=lhr

     

     

    [client]

    port=3306

    socket=/var/lib/mysql57/mysql5719/mysql.sock

    user=root

    host=localhost

    password=lhr

     

     

    [mysqld]

    basedir=/var/lib/mysql57/mysql5719

    datadir=/var/lib/mysql57/mysql5719/data

    socket=/var/lib/mysql57/mysql5719/mysql.sock

    log-error=/var/lib/mysql57/mysql5719/log/mysqld.log

    user=mysql

    port=3306

     

     

    [mysqld56]

    basedir=/usr/local/mysql56/mysql5637

    datadir=/usr/local/mysql56/mysql5637/data

    socket=/usr/local/mysql56/mysql5637/mysql.sock

    log-error=/usr/local/mysql56/mysql5637/log/mysqld.log

    user=mysql

    port=3307

     

     

    [mysqld55]

    basedir=/usr/local/mysql55/mysql5557

    datadir=/usr/local/mysql55/mysql5557/data

    socket=/usr/local/mysql55/mysql5557/mysql.sock

    log-error=/usr/local/mysql55/mysql5557/log/mysqld.log

    user=mysql

    port=3308

     

     

    # Disabling symbolic-links is recommended to prevent assorted security risks

    symbolic-links=0

     

    [mysqld_safe]

    log-error=/var/lib/mysql57/mysql5719/log/mysqld.log

    #pid-file=/var/lib/mysql57/mysql5719/data/mysqld.pid

     

     

     

    1.10.2  配置开机启动

    [root@LHRDB mysql5719]# cd support-files/

    [root@LHRDB support-files]# ll

    total 24

    -rw-r--r--. 1 mysql mysql   773 Jun 22 22:13 magic

    -rwxr-xr-x. 1 mysql mysql  1061 Jun 22 22:54 mysqld_multi.server

    -rwxr-xr-x. 1 mysql mysql   894 Jun 22 22:54 mysql-log-rotate

    -rwxr-xr-x. 1 mysql mysql 10576 Jun 22 22:54 mysql.server

    [root@LHRDB support-files]# cp mysqld_multi.server /etc/init.d/mysqld_multi

    [root@LHRDB support-files]# chmod 755 /etc/init.d/mysqld_multi

    [root@LHRDB support-files]# chkconfig --add mysqld_multi

    [root@LHRDB support-files]# chkconfig mysqld_multi on

    [root@LHRDB support-files]# chkconfig --level 345 mysqld_multi on

     

     

    注意:这里的MySQL服务为mysqld_multi

    编辑文件:/etc/init.d/mysqld_multi,修改如下3行的参数值:

    . /etc/profile

    basedir=/var/lib/mysql57/mysql5719

    bindir=/var/lib/mysql57/mysql5719/bin

     

     

    由于采用了mysqld_multi来统一管理MySQL的实例,所以,去掉mysql 5.7的开机启动。

    chkconfig mysql57 off

    [root@LHRDB init.d]# chkconfig mysql57 off

     

    重启机器,试试效果:

    [root@LHRDB init.d]# reboot

    [root@LHRDB init.d]#

    Broadcast message from root@LHRDB

            (/dev/pts/1) at 18:27 ...

     

    The system is going down for reboot NOW!

     

     

    重启之后:

    [root@LHRDB ~]# ps -ef|grep mysql

    root     12338     1  0 20:19 ?        00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --socket=/var/lib/mysql57/mysql5719/mysql.sock --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --user=mysql --port=3306

    root     12401     1  0 20:19 ?        00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --socket=/usr/local/mysql56/mysql5637/mysql.sock --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --user=mysql --port=3307

    root     12471     1  0 20:19 ?        00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --socket=/usr/local/mysql55/mysql5557/mysql.sock --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --user=mysql --port=3308 --symbolic-links=0

    mysql    12792 12471  0 20:19 ?        00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --symbolic-links=0 --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308

    mysql    12822 12338  0 20:19 ?        00:00:00 /var/lib/mysql57/mysql5719/bin/mysqld --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --plugin-dir=/var/lib/mysql57/mysql5719/lib/plugin --user=mysql --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --pid-file=LHRDB.pid --socket=/var/lib/mysql57/mysql5719/mysql.sock --port=3306

    mysql    12885 12401  0 20:19 ?        00:00:00 /usr/local/mysql56/mysql5637/bin/mysqld --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --plugin-dir=/usr/local/mysql56/mysql5637/lib/plugin --user=mysql --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql56/mysql5637/mysql.sock --port=3307

    root     13205 13179  0 20:20 pts/0    00:00:00 grep mysql

    [root@LHRDB ~]# mysqld_multi report

    Reporting MySQL servers

    MySQL server from group: mysqld57 is running

    MySQL server from group: mysqld56 is running

    MySQL server from group: mysqld55 is running

    [root@LHRDB ~]# netstat -lntp | grep mysqld

    tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      12792/mysqld       

    tcp        0      0 :::3307                     :::*                        LISTEN      12885/mysqld       

    tcp        0      0 :::3306                     :::*                        LISTEN      12822/mysqld

     

     

     

    1.10.3  mysqld_multi命令

    启动全部实例:mysqld_multi start

    查看全部实例状态:mysqld_multi report

    启动单个实例:mysqld_multi start 3306

    停止单个实例:mysqld_multi stop 3306

    查看单个实例状态:mysqld_multi report 3306

     

    官网地址:https://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html

    1.11  源码编译安装MySQL 5.7

    源码编译安装的更多内容:http://blog.itpub.net/26736162/viewspace-2144212/

    1.11.1  下载源码包

    地址:https://dev.mysql.com/downloads/mysql/

    wps5029.tmp 

    说明:这里有两个包,在5.7以后,必须要有boost这个包

    1.11.2  增加用户

    groupadd mysql

    useradd -r -g mysql mysql

     

    其中-r表示用户是系统用户,不可登录系统。

    1.11.3  创建要安装的目录

    [root@LHRDB ~]# df -h

    Filesystem                                Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00              9.9G  4.6G  4.9G  49% /

    tmpfs                                     2.0G   76K  2.0G   1% /dev/shm

    /dev/sda1                                 194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01              3.0G  1.8G  1.1G  64% /tmp

    /dev/mapper/vg_rootlhr-Vol03              3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57  5.0G  2.7G  2.0G  58% /var/lib/mysql57

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56  2.0G  1.4G  575M  70% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55  2.0G  848M  1.1G  45% /usr/local/mysql55

    .host:/                                   331G  273G   58G  83% /mnt/hgfs

    /dev/sr0                                  3.6G  3.6G     0 100% /media/RHEL_6.5 x86_64 Disc 1

    /dev/sr0                                  3.6G  3.6G     0 100% /media/lhr/cdrom

    [root@LHRDB ~]# vgs

      VG           #PV #LV #SN Attr   VSize  VFree  

      vg_mysqlsoft   1   3   0 wz--n- 10.00g 1020.00m

      vg_rootlhr     2   4   0 wz--n- 19.80g    1.80g

    [root@LHRDB ~]# pvs

      PV         VG           Fmt  Attr PSize  PFree  

      /dev/sda2  vg_rootlhr   lvm2 a--  10.00g       0

      /dev/sda3  vg_rootlhr   lvm2 a--   9.80g    1.80g

      /dev/sdb1  vg_mysqlsoft lvm2 a--  10.00g 1020.00m

      /dev/sdb10              lvm2 a--  10.00g   10.00g

      /dev/sdb11              lvm2 a--   9.99g    9.99g

      /dev/sdb2               lvm2 a--  10.00g   10.00g

      /dev/sdb3               lvm2 a--  10.00g   10.00g

      /dev/sdb5               lvm2 a--  10.00g   10.00g

      /dev/sdb6               lvm2 a--  10.00g   10.00g

      /dev/sdb7               lvm2 a--  10.00g   10.00g

      /dev/sdb8               lvm2 a--  10.00g   10.00g

      /dev/sdb9               lvm2 a--  10.00g   10.00g

    [root@LHRDB ~]# vgextend vg_mysqlsoft /dev/sdb2

      Volume group "vg_mysqlsoft" successfully extended

    [root@LHRDB ~]# vgs

      VG           #PV #LV #SN Attr   VSize  VFree

      vg_mysqlsoft   2   3   0 wz--n- 19.99g 10.99g

      vg_rootlhr     2   4   0 wz--n- 19.80g  1.80g

    [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_57sc -L 10G vg_mysqlsoft

      Logical volume "lv_mysqlsoft_57sc" created

    [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57sc

    mke2fs 1.41.12 (17-May-2010)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    Stride=0 blocks, Stripe width=0 blocks

    327680 inodes, 1310720 blocks

    65536 blocks (5.00%) reserved for the super user

    First data block=0

    Maximum filesystem blocks=1342177280

    40 block groups

    32768 blocks per group, 32768 fragments per group

    8192 inodes per group

    Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912, 819200, 884736

     

    Writing inode tables: done                           

    Creating journal (32768 blocks): done

    Writing superblocks and filesystem accounting information: done

     

    This filesystem will be automatically checked every 30 mounts or

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    [root@LHRDB ~]# mkdir /usr/local/mysql57sc

    [root@LHRDB ~]# chown mysql.mysql /usr/local/mysql57sc

    [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_57sc  /usr/local/mysql57sc/

    [root@LHRDB ~]# df -h

    Filesystem                                  Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00                9.9G  4.6G  4.8G  49% /

    tmpfs                                       2.0G   76K  2.0G   1% /dev/shm

    /dev/sda1                                   194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01                3.0G  1.8G  1.1G  64% /tmp

    /dev/mapper/vg_rootlhr-Vol03                3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57    5.0G  2.7G  2.0G  58% /var/lib/mysql57

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56    2.0G  1.4G  575M  70% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55    2.0G  848M  1.1G  45% /usr/local/mysql55

    .host:/                                     331G  273G   58G  83% /mnt/hgfs

    /dev/sr0                                    3.6G  3.6G     0 100% /media/RHEL_6.5 x86_64 Disc 1

    /dev/sr0                                    3.6G  3.6G     0 100% /media/lhr/cdrom

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc  9.9G  138M  9.6G   1% /usr/local/mysql57sc

    [root@LHRDB ~]# more /etc/fstab

    #

    # /etc/fstab

    # Created by anaconda on Sat Jan 14 18:56:24 2017

    #

    # Accessible filesystems, by reference, are maintained under '/dev/disk'

    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

    #

    /dev/mapper/vg_rootlhr-Vol00 /                       ext4    defaults        1 1

    UUID=fccf51c1-2d2f-4152-baac-99ead8cfbc1a /boot                   ext4    defaults        1 2

    /dev/mapper/vg_rootlhr-Vol01 /tmp                    ext4    defaults        1 2

    /dev/mapper/vg_rootlhr-Vol02 swap                    swap    defaults        0 0

    tmpfs                   /dev/shm                tmpfs   defaults,size=2G        0 0

    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

    sysfs                   /sys                    sysfs   defaults        0 0

    proc                    /proc                   proc    defaults        0 0

    /dev/vg_rootlhr/Vol03 /home  ext4 defaults        0 0

    /dev/vg_mysqlsoft/lv_mysqlsoft_57  /var/lib/mysql57  ext4    defaults  0 0

    /dev/vg_mysqlsoft/lv_mysqlsoft_56  /usr/local/mysql56  ext4    defaults  0 0

    /dev/vg_mysqlsoft/lv_mysqlsoft_55  /usr/local/mysql55  ext4    defaults  0 0

    /dev/sr0 /media/lhr/cdrom iso9660 defaults,ro,loop 0 0

    /dev/vg_mysqlsoft/lv_mysqlsoft_57sc  /usr/local/mysql57sc  ext4    defaults  0 0

     

     

     

    1.11.4  上传并解压

    [root@LHRDB ~]# mkdir -p /tmp/mysql5.7sc

     

    wps502A.tmp 

    [root@LHRDB ~]# cd /tmp/mysql5.7sc

    [root@LHRDB mysql5.7sc]# ll

    total 98136

    -rw-r--r-- 1 root root 51686763 Aug 28 09:50 mysql-5.7.19.tar.gz

    -rw-r--r-- 1 root root 48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz

    [root@LHRDB mysql5.7sc]# tar -zxf  /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/

    [root@LHRDB mysql5.7sc]# tar -zxf  /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/

    [root@LHRDB mysql5.7sc]# ll

    total 98140

    drwxr-xr-x 36 7161 31415     4096 Jun 22 22:24 mysql-5.7.19

    -rw-r--r--  1 root root  51686763 Aug 28 09:50 mysql-5.7.19.tar.gz

    -rw-r--r--  1 root root  48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz

    [root@LHRDB mysql5.7sc]# df -h

    Filesystem                                  Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00                9.9G  4.7G  4.8G  50% /

    tmpfs                                       2.0G   76K  2.0G   1% /dev/shm

    /dev/sda1                                   194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01                3.0G  1.6G  1.3G  56% /tmp

    /dev/mapper/vg_rootlhr-Vol03                3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57    5.0G  2.7G  2.0G  58% /var/lib/mysql57

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56    2.0G  1.4G  575M  70% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55    2.0G  848M  1.1G  45% /usr/local/mysql55

    .host:/                                     331G  273G   58G  83% /mnt/hgfs

    /dev/sr0                                    3.6G  3.6G     0 100% /media/RHEL_6.5 x86_64 Disc 1

    /dev/sr0                                    3.6G  3.6G     0 100% /media/lhr/cdrom

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc  9.9G  683M  9.4G   7% /usr/local/mysql57sc

     

    修改目录的权限:

    [root@LHRDB local]# cd  /usr/local/mysql57sc

    [root@LHRDB mysql57sc]# mv mysql-5.7.19 mysql57

    [root@LHRDB mysql57sc]# mkdir ./mysql57/data

    [root@LHRDB mysql57sc]# mkdir ./mysql57/log

    [root@LHRDB mysql57sc]# chown -R mysql.mysql .

     

     

     

     

    1.11.5  安装编译环境所需要的包和一些依赖包

    1.11.5.1  配置本地YUM

    mkdir -p /media/lhr/cdrom

    mount /dev/sr0 /media/lhr/cdrom/

     

    #设置开机自动挂载系统镜像文件 vi /etc/fstab 添加以下内容

    /dev/sr0 /media/lhr/cdrom iso9660 defaults,ro,loop 0 0

     

    cd /etc/yum.repos.d/

    cp rhel-media.repo rhel-media.repo.bk

    vi /etc/yum.repos.d/rhel-media.repo

    [rhel-media]

    name=Red Hat Enterprise Linux 6.5

    baseurl=file:///media/lhr/cdrom

    enabled=1

    gpgcheck=1

    gpgkey=file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release

     

    [root@LHRDB ~]# mkdir -p /media/lhr/cdrom

    [root@LHRDB ~]# mount /dev/sr0 /media/lhr/cdrom/

    mount: block device /dev/sr0 is write-protected, mounting read-only

    [root@LHRDB ~]# cd /etc/yum.repos.d/

    [root@LHRDB yum.repos.d]# cp rhel-media.repo rhel-media.repo.bk

    [root@LHRDB yum.repos.d]# more /etc/yum.repos.d/rhel-media.repo

    [rhel-media]

    name=Red Hat Enterprise Linux 6.5

    baseurl=file:///media/lhr/cdrom

    enabled=1

    gpgcheck=1

    gpgkey=file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release

     

     

    1.11.5.2  安装依赖包

    yum install -y cmake make gcc gcc-c++ ncurses-devel

     

    [root@LHRDB yum.repos.d]# yum install -y cmake make gcc gcc-c++ ncurses-devel

    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    rhel-media                                                                                                                                                                                 | 3.9 kB     00:00 ...

    Setting up Install Process

    Package 1:make-3.81-20.el6.x86_64 already installed and latest version

    Package gcc-4.4.7-4.el6.x86_64 already installed and latest version

    Package gcc-c++-4.4.7-4.el6.x86_64 already installed and latest version

    Package ncurses-devel-5.7-3.20090208.el6.x86_64 already installed and latest version

    Resolving Dependencies

    --> Running transaction check

    ---> Package cmake.x86_64 0:2.6.4-5.el6 will be installed

    --> Finished Dependency Resolution

     

    Dependencies Resolved

     

    ==================================================================================================================================================================================================================

    Package                                        Arch                                            Version                                                 Repository                                           Size

    ==================================================================================================================================================================================================================

    Installing:

    cmake                                          x86_64                                          2.6.4-5.el6                                             rhel-media                                          5.1 M

     

    Transaction Summary

    ==================================================================================================================================================================================================================

    Install       1 Package(s)

     

    Total download size: 5.1 M

    Installed size: 17 M

    Downloading Packages:

    warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

    Retrieving key from file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release

    Importing GPG key 0xFD431D51:

    Userid: "Red Hat, Inc. (release key 2) <security@redhat.com>"

    From  : /media/lhr/cdrom/RPM-GPG-KEY-redhat-release

    Importing GPG key 0x2FA658E0:

    Userid: "Red Hat, Inc. (auxiliary key) <security@redhat.com>"

    From  : /media/lhr/cdrom/RPM-GPG-KEY-redhat-release

    Running rpm_check_debug

    Running Transaction Test

    Transaction Test Succeeded

    Running Transaction

    Warning: RPMDB altered outside of yum.

      Installing : cmake-2.6.4-5.el6.x86_64                                                                                                                                                                       1/1

      Verifying  : cmake-2.6.4-5.el6.x86_64                                                                                                                                                                       1/1

     

    Installed:

      cmake.x86_64 0:2.6.4-5.el6                                                                                                                                                                                     

     

    Complete!

     

     

     

    注意:这里的cmake最低需要2.8.2版本的,不然会报错,先接着往下做吧。

    1.11.6  执行编译命令

    1.11.6.1  升级cmake的版本

    [root@LHRDB mysql-5.7.19]# cmake -version

    cmake version 2.6-patch 4

    [root@LHRDB mysql-5.7.19]# pwd

    /tmp/mysql5.7sc/mysql-5.7.19

    [root@LHRDB mysql-5.7.19]# ll

    total 332

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 boost

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 BUILD

    drwxr-xr-x  6 7161 31415  4096 Jun 22 22:24 client

    drwxr-xr-x  4 7161 31415  4096 Jun 22 22:24 cmake

    -rw-r--r--  1 7161 31415 26727 Jun 22 22:13 CMakeLists.txt

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 cmd-line-utils

    -rw-r--r--  1 7161 31415 13832 Jun 22 22:13 config.h.cmake

    -rw-r--r--  1 7161 31415 33704 Jun 22 22:13 configure.cmake

    -rw-r--r--  1 7161 31415 17987 Jun 22 22:13 COPYING

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 dbug

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 Docs

    -rw-r--r--  1 7161 31415 66241 Jun 22 22:13 Doxyfile-perfschema

    drwxr-xr-x  6 7161 31415  4096 Jun 22 22:24 extra

    drwxr-xr-x  5 7161 31415  4096 Jun 22 22:24 include

    -rw-r--r--  1 7161 31415   333 Jun 22 22:13 INSTALL

    drwxr-xr-x  5 7161 31415  4096 Jun 22 22:24 libbinlogevents

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 libbinlogstandalone

    drwxr-xr-x  7 7161 31415  4096 Jun 22 22:24 libevent

    drwxr-xr-x  4 7161 31415  4096 Jun 22 22:24 libmysql

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 libmysqld

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 libservices

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 man

    drwxr-xr-x 10 7161 31415  4096 Jun 22 22:24 mysql-test

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 mysys

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 mysys_ssl

    drwxr-xr-x 10 7161 31415  4096 Jun 22 22:24 packaging

    drwxr-xr-x 18 7161 31415  4096 Jun 22 22:24 plugin

    drwxr-xr-x  4 7161 31415  4096 Jun 22 22:24 rapid

    -rw-r--r--  1 7161 31415  2478 Jun 22 22:13 README

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 regex

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 scripts

    drwxr-xr-x  7 7161 31415 20480 Jun 22 22:24 sql

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 sql-common

    drwxr-xr-x 14 7161 31415  4096 Jun 22 22:24 storage

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 strings

    drwxr-xr-x  4 7161 31415  4096 Jun 22 22:24 support-files

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 testclients

    drwxr-xr-x  5 7161 31415  4096 Jun 22 22:24 unittest

    -rw-r--r--  1 7161 31415    88 Jun 22 22:13 VERSION

    drwxr-xr-x  3 7161 31415  4096 Jun 22 22:24 vio

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 win

    drwxr-xr-x  2 7161 31415  4096 Jun 22 22:24 zlib

    [root@LHRDB mysql-5.7.19]# cmake

    > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57

    > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data

    > -DMYSQL_USER=mysql

    > -DWITH_INNOBASE_STORAGE_ENGINE=1 

    > -DWITH_ARCHIVE_STORAGE_ENGINE=1  

    > -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    > -DWITH_READLINE=1

    > -DDOWNLOAD_BOOST=1

    > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/

    CMake Error at CMakeLists.txt:21 (CMAKE_MINIMUM_REQUIRED):

      CMake 2.8.2 or higher is required.  You are running version 2.6.4

     

     

    -- Configuring incomplete, errors occurred!

     

     

     

    cmake每个参数的介绍参考:http://blog.itpub.net/26736162/viewspace-2144212/

     

    下载高版本cmakehttp://www.cmake.org/cmake/resources/software.html,解压缩cmake-3.9.1.tar.gz解压后执行./bootstrap && make && make install如下:

    [root@LHRDB ~]# cd /tmp/mysql5.7sc/

    [root@LHRDB mysql5.7sc]# ll

    total 105664

    -rw-r--r--  1 root root   7702497 Aug 28 10:20 cmake-3.9.1.tar.gz

    drwxr-xr-x 37 7161 31415     4096 Aug 28 10:38 mysql-5.7.19

    -rw-r--r--  1 root root  51686763 Aug 28 09:50 mysql-5.7.19.tar.gz

    -rw-r--r--  1 root root  48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz

    [root@LHRDB mysql5.7sc]# tar -zxf cmake-3.9.1.tar.gz

    [root@LHRDB mysql5.7sc]# ll

    total 105668

    drwxr-xr-x 11 root root      4096 Aug 28 10:42 cmake-3.9.1

    -rw-r--r--  1 root root   7702497 Aug 28 10:20 cmake-3.9.1.tar.gz

    drwxr-xr-x 37 7161 31415     4096 Aug 28 10:38 mysql-5.7.19

    -rw-r--r--  1 root root  51686763 Aug 28 09:50 mysql-5.7.19.tar.gz

    -rw-r--r--  1 root root  48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz

    [root@LHRDB mysql5.7sc]# cd cmake-3.9.1

    [root@LHRDB cmake-3.9.1]# ll

    total 284

    drwxr-xr-x   4 502 games  4096 Aug 10 21:47 Auxiliary

    -rwxr-xr-x   1 502 games 48336 Aug 10 21:36 bootstrap

    -rw-r--r--   1 502 games  9706 Aug 10 21:36 CMakeCPack.cmake

    -rw-r--r--   1 502 games 12897 Aug 10 21:36 CMakeCPackOptions.cmake.in

    -rw-r--r--   1 502 games   153 Aug 10 21:36 CMakeGraphVizOptions.cmake

    -rw-r--r--   1 502 games 31721 Aug 10 21:36 CMakeLists.txt

    -rw-r--r--   1 502 games  4481 Aug 10 21:36 CMakeLogo.gif

    -rw-r--r--   1 502 games   790 Aug 10 21:36 cmake_uninstall.cmake.in

    -rw-r--r--   1 502 games  3322 Aug 10 21:36 CompileFlags.cmake

    -rwxr-xr-x   1 502 games    99 Aug 10 21:36 configure

    -rw-r--r--   1 502 games  1851 Aug 10 21:36 CONTRIBUTING.rst

    -rw-r--r--   1 502 games  4999 Aug 10 21:36 Copyright.txt

    -rw-r--r--   1 502 games   440 Aug 10 21:36 CTestConfig.cmake

    -rw-r--r--   1 502 games  6213 Aug 10 21:36 CTestCustom.cmake.in

    -rw-r--r--   1 502 games   374 Aug 10 21:36 DartConfig.cmake

    -rw-r--r--   1 502 games 28046 Aug 10 21:36 doxygen.config

    drwxr-xr-x  18 502 games  4096 Aug 10 21:47 Help

    drwxr-xr-x   2 502 games  4096 Aug 10 21:47 Licenses

    drwxr-xr-x  12 502 games 20480 Aug 10 21:47 Modules

    drwxr-xr-x   3 502 games  4096 Aug 10 21:47 Packaging

    -rw-r--r--   1 502 games  3016 Aug 10 21:36 README.rst

    drwxr-xr-x  11 502 games 36864 Aug 10 21:47 Source

    drwxr-xr-x   4 502 games  4096 Aug 10 21:47 Templates

    drwxr-xr-x 240 502 games 12288 Aug 10 21:47 Tests

    drwxr-xr-x  21 502 games  4096 Aug 10 21:47 Utilities

    [root@LHRDB cmake-3.9.1]#

    [root@LHRDB cmake-3.9.1]#  ./bootstrap && make && make install

    ---------------------------------------------

    CMake 3.9.1, Copyright 2000-2017 Kitware, Inc. and Contributors

    Found GNU toolchain

    C compiler on this system is: gcc  -std=gnu99

    C++ compiler on this system is: g++  -std=gnu++0x

    Makefile processor on this system is: gmake

    g++ is GNU compiler

    g++ has setenv

    g++ has unsetenv

    g++ does not have environ in stdlib.h

    g++ has stl wstring

    g++ has <ext/stdio_filebuf.h>

    ---------------------------------------------

    g++  -std=gnu++0x     -I/tmp/mysql5.7sc/cmake-3.9.1/Bootstrap.cmk   -I/tmp/mysql5.7sc/cmake-3.9.1/Source   -I/tmp/mysql5.7sc/cmake-3.9.1/Source/LexerParser   -I/tmp/mysql5.7sc/cmake-3.9.1/Utilities  -c /tmp/mysql5.7sc/cmake-3.9.1/Source/cmAddCustomCommandCommand.cxx -o cmAddCustomCommandCommand.o

    g++  -std=gnu++0x     -I/tmp/mysql5.7sc/cmake-3.9.1/Bootstrap.cmk   -I/tmp/mysql5.7sc/cmake-3.9.1/Source   -I/tmp/mysql5.7sc/cmake-3.9.1/Source/LexerParser   -I/tmp/mysql5.7sc/cmake-3.9.1/Utilities  -c /tmp/mysql5.7sc/cmake-3.9.1/Source/cmAddCustomTargetCommand.cxx -o cmAddCustomTargetCommand.o

    。。。。。。。。。。。。。。 省略 。。。。。。。。。。。。。。。

    -- Installing: /usr/local/bin/cmake

    -- Installing: /usr/local/bin/ctest

    -- Installing: /usr/local/bin/cpack

    -- Installing: /usr/local/share/cmake-3.9/include/cmCPluginAPI.h

    -- Installing: /usr/local/share/cmake-3.9/editors/vim/indent

    -- Installing: /usr/local/share/cmake-3.9/editors/vim/indent/cmake.vim

    -- Installing: /usr/local/share/cmake-3.9/editors/vim/syntax

    -- Installing: /usr/local/share/cmake-3.9/editors/vim/syntax/cmake.vim

    -- Installing: /usr/local/share/cmake-3.9/editors/emacs/cmake-mode.el

    -- Installing: /usr/local/share/aclocal/cmake.m4

    -- Installing: /usr/local/share/cmake-3.9/completions/cmake

    -- Installing: /usr/local/share/cmake-3.9/completions/cpack

    -- Installing: /usr/local/share/cmake-3.9/completions/ctest

    [root@LHRDB cmake-3.9.1]# which cmake

    /usr/local/bin/cmake

    [root@LHRDB cmake-3.9.1]# cmake -version

    cmake version 3.9.1

     

     

    重新开一个shell并继续编译:

    [root@LHRDB mysql57]# cmake

    > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57

    > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data

    > -DMYSQL_USER=mysql

    > -DWITH_INNOBASE_STORAGE_ENGINE=1 

    > -DWITH_ARCHIVE_STORAGE_ENGINE=1  

    > -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    > -DWITH_READLINE=1

    > -DDOWNLOAD_BOOST=1

    > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/

    CMake Deprecation Warning at CMakeLists.txt:26 (CMAKE_POLICY):

      The OLD behavior for policy CMP0018 will be removed from a future version

      of CMake.

     

      The cmake-policies(7) manual explains that the OLD behaviors of all

      policies are deprecated and that a policy should be set to OLD only under

      specific short-term circumstances.  Projects should be ported to the NEW

      behavior and not rely on setting a policy to OLD.

     

     

    CMake Deprecation Warning at CMakeLists.txt:32 (CMAKE_POLICY):

      The OLD behavior for policy CMP0022 will be removed from a future version

      of CMake.

    。。。。。。。。省略部分。。。。。。。。

      The cmake-policies(7) manual explains that the OLD behaviors of all

      policies are deprecated and that a policy should be set to OLD only under

      specific short-term circumstances.  Projects should be ported to the NEW

      behavior and not rely on setting a policy to OLD.

     

     

    -- INSTALL mysqlclient.pc lib/pkgconfig

    -- Skipping deb packaging on unsupported platform .

    -- CMAKE_BUILD_TYPE: RelWithDebInfo

    -- COMPILE_DEFINITIONS: _GNU_SOURCE;_FILE_OFFSET_BITS=64;HAVE_CONFIG_H;HAVE_LIBEVENT1

    -- CMAKE_C_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement

    -- CMAKE_CXX_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter

    -- CMAKE_C_LINK_FLAGS:

    -- CMAKE_CXX_LINK_FLAGS:

    -- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF

    -- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF

    -- Configuring done

    -- Generating done

    -- Build files have been written to: /usr/local/mysql57sc/mysql57

     

    成功。

    1.11.6.2  编译安装

    该过程最慢。。。。。虚拟机约40分钟。。。。

    [root@LHRDB mysql57]# make && make install

    Scanning dependencies of target abi_check

    [  0%] Built target abi_check

    Scanning dependencies of target INFO_SRC

    [  0%] Built target INFO_SRC

    Scanning dependencies of target INFO_BIN

    [  0%] Built target INFO_BIN

    Scanning dependencies of target zlib

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/compress.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/gzio.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/infback.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/inffast.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/inflate.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/inftrees.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/trees.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/uncompr.c.o

    [  0%] Building C object zlib/CMakeFiles/zlib.dir/zutil.c.o

    。。。。。。。。。。省略部分。。。。。。。。。。。。

    -- Installing: /usr/local/mysql57sc/mysql57/share/fill_help_tables.sql

    -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_sys_schema.sql

    -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_test_data_timezone.sql

    -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_security_commands.sql

    -- Installing: /usr/local/mysql57sc/mysql57/lib/pkgconfig/mysqlclient.pc

    -- Installing: /usr/local/mysql57sc/mysql57/bin/mysql_config

    -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqldumpslow

    -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqld_multi

    -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqld_safe

    -- Installing: /usr/local/mysql57sc/mysql57/share/aclocal/mysql.m4

    [root@LHRDB mysql57]#

    [root@LHRDB mysql57]# df -h

    Filesystem                                  Size  Used Avail Use% Mounted on

    /dev/mapper/vg_rootlhr-Vol00                9.9G  4.7G  4.8G  50% /

    tmpfs                                       2.0G   72K  2.0G   1% /dev/shm

    /dev/sda1                                   194M   35M  150M  19% /boot

    /dev/mapper/vg_rootlhr-Vol01                3.0G  1.6G  1.3G  56% /tmp

    /dev/mapper/vg_rootlhr-Vol03                3.0G   69M  2.8G   3% /home

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57    5.0G  2.7G  2.0G  58% /var/lib/mysql57

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56    2.0G  1.4G  575M  70% /usr/local/mysql56

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55    2.0G  848M  1.1G  45% /usr/local/mysql55

    /dev/sr0                                    3.6G  3.6G     0 100% /media/lhr/cdrom

    /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc  9.9G  7.2G  2.2G  77% /usr/local/mysql57sc

    .host:/                                     331G  273G   58G  83% /mnt/hgfs

     

    用了大概7.2G,太费空间了。最后的makemake install大概用了40分钟,太费时间了。。。。。

     

    1.11.7  初始化MySQL

    注意:MySQL 5.7.6之后的版本初始化数据库不再使用mysql_install_db

    [root@LHRDB mysql57]# mkdir log

    [root@LHRDB mysql57]# chown mysql.mysql log

    [root@LHRDB mysql57]# pwd

    /usr/local/mysql57sc/mysql57

    [root@LHRDB mysql57]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57sc/mysql57  --datadir=/usr/local/mysql57sc/mysql57/data

    2017-08-28T08:34:01.250285Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

    2017-08-28T08:34:02.675706Z 0 [Warning] InnoDB: New log files created, LSN=45790

    2017-08-28T08:34:02.743783Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

    2017-08-28T08:34:02.847128Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a572bb0e-8bcb-11e7-b92e-000c291823c2.

    2017-08-28T08:34:02.848708Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

    2017-08-28T08:34:02.851802Z 1 [Note] A temporary password is generated for root@localhost: N9eYPaqv4q!X

    这里生成的临时密码为:N9eYPaqv4q!X

     

    1.11.8  配置/etc/my.cnf

     

    修改文件/etc/my.cnf,加入以下内容:

    [mysqld573309]

    basedir=/usr/local/mysql57sc/mysql57

    datadir=/usr/local/mysql57sc/mysql57/data

    socket=/usr/local/mysql57sc/mysql57/mysql.sock

    log-error=/usr/local/mysql57sc/mysql57/log/mysqld.log

    user=mysql

    port=3309

     

    1.11.9  启动MySQL

    [root@LHRDB mysql5719]# echo '' > /usr/local/mysql57sc/mysql57/log/mysqld.log

    [root@LHRDB mysql5719]# chown mysql.mysql /usr/local/mysql57sc/mysql57/log/mysqld.log

    [root@LHRDB data]# mysqld_multi report

    Reporting MySQL servers

    MySQL server from group: mysqld57 is running

    MySQL server from group: mysqld56 is running

    MySQL server from group: mysqld55 is running

    MySQL server from group: mysqld573309 is not running

    [root@LHRDB data]# mysqld_multi start 573309

    [root@LHRDB data]# mysqld_multi report

    Reporting MySQL servers

    MySQL server from group: mysqld57 is running

    MySQL server from group: mysqld56 is running

    MySQL server from group: mysqld55 is running

    MySQL server from group: mysqld573309 is running

    [root@LHRDB data]# netstat -lntp | grep mysqld

    tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      12932/mysqld       

    tcp        0      0 :::3307                     :::*                        LISTEN      12858/mysqld       

    tcp        0      0 :::3309                     :::*                        LISTEN      29785/mysqld       

    tcp        0      0 :::3306                     :::*                        LISTEN      12880/mysqld 

     

     

    1.11.10  登录MySQL并修改密码

    [root@LHRDB data]# mysql -uroot  --socket=/usr/local/mysql57sc/mysql57/mysql.sock -p

    Enter password:

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

    Your MySQL connection id is 4

    Server version: 5.7.19

     

    Copyright (c) 2000, 2017, 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> set password=password('lhr');

    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

    mysql> select @@port;

    +--------+

    | @@port |

    +--------+

    |   3309 |

    +--------+

    1 row in set (0.00 sec)

     

     

    修改密码也可以用:update mysql.user set authentication_string=password('lhr') where user='root';

     

    1.11.11  设置远程登录

    mysql> grant all privileges on *.* to root@'%' identified by 'lhr';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

     

    mysql> select host,user from mysql.user;

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

    | host      | user          |

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

    | %         | root          |

    | localhost | mysql.session |

    | localhost | mysql.sys     |

    | localhost | root          |

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

    4 rows in set (0.00 sec)

     

     

    1.11.12  Windows远程登录

    Windows下远程登录:

    D:Usersxiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P3309

    Warning: Using a password on the command line interface can be insecure.

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

    Your MySQL connection id is 5

    Server version: 5.7.19 Source distribution

     

    Copyright (c) 2000, 2014, 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)

     

    mysql>

     

     

     

     

     

    1.12  错误解决

    1.12.1  ABORT: Can't find command 'my_print_defaults'.

    [root@LHRDB ~]# service mysqld_multi start

    WARNING: my_print_defaults command not found.

    Please make sure you have this command available and

    in your path. The command is available from the latest

    MySQL distribution.

    WARNING: Log file disabled. Maybe directory or file isn't writable?

    ABORT: Can't find command 'my_print_defaults'.

    This command is available from the latest MySQL

    distribution. Please make sure you have the command

    in your PATH.

     

     

    解决:

    编辑文件:/etc/init.d/mysqld_multi,添加:. /etc/profile,或者在文件/etc/init.d/mysqld_multi中加入下面的变量:

    MYSQL_HOME=/var/lib/mysql57/mysql5719

    PATH=$MYSQL_HOME/bin:$PATH

     

    1.12.2  执行cmake编译时报错

    CMake Error at cmake/boost.cmake:81 (MESSAGE):

    You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

      This CMake script will look for boost in <directory>. If it is not there,

      it will download and unpack it (in that directory) for you.**

     

    解决办法:

    cmake -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/root/mysql-5.7.19/boost/boost_1_59_0/

     

    或者在执行cmake命令时加上DOWNLOAD_BOOSTWITH_BOOST参数。

     

    1.13  参考文档

    官方文档:

    https://dev.mysql.com/doc/refman/5.7/en/checking-rpm-signature.html

    https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html

    https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

    源码编译安装的更多内容:http://blog.itpub.net/26736162/viewspace-2144212/

    rpm的安装方式请参考:

    http://blog.itpub.net/26736162/viewspace-1349705/

    http://blog.itpub.net/26736162/viewspace-1349787/

     

     

    第二章 实验中用到的SQL总结

    OS路径设置:

    vgcreate vg_mysqlsoft /dev/sdb1

    lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft

    mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57

    mkdir -p /tmp/mysql5719

    mkdir -p /var/lib/mysql57

    mount /dev/vg_mysqlsoft/lv_mysqlsoft_57  /var/lib/mysql57/

    vi /etc/fstab

     

    二进制安装过程:

    md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

     

    tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/

    mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719

     

    groupadd mysql

    useradd -r -g mysql mysql

     

    MySQL 5.6版本:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data

    MySQL 5.7版本:./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719  --datadir=/var/lib/mysql57/mysql5719/data

    more /etc/my.cnf

     

    cp mysql.server /etc/init.d/mysql57

    chmod 755 /etc/init.d/mysql57

    chkconfig --add mysql57

    chkconfig mysql57 on

    chkconfig --level 345 mysql57 on

     

    mysqld_safe --user=mysql &

     

     

    MYSQL_HOME=/var/lib/mysql57/mysql5719

    PATH=$PATH:$MYSQL_HOME/bin

    source /etc/profile

     

    #MySQL 5.7初始化时有默认密码,5.6无密码

    mysql -uroot  --socket=/usr/local/mysql56/mysql5637/mysql.sock -p

    set password=password('lhr');

    update mysql.user set authentication_string=password('lhr') where user='root';

    grant all privileges on *.* to root@'%' identified by 'lhr';

    flush privileges;

     

     

    源码安装:

    tar -zxf  /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/

    tar -zxf  /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/

    mv mysql-5.7.19 mysql57

     

    yum install -y cmake make gcc gcc-c++ ncurses-devel

    #cmake最低需要2.8.2版本的

     

    cmake

    > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57

    > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data

    > -DMYSQL_USER=mysql

    > -DWITH_INNOBASE_STORAGE_ENGINE=1 

    > -DWITH_ARCHIVE_STORAGE_ENGINE=1  

    > -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    > -DWITH_READLINE=1

    > -DDOWNLOAD_BOOST=1

    > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/

     

    make && make install

     

    查看MySQL的端口:

    netstat -lntp | grep mysqld





    About Me

    .............................................................................................................................................

    ● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

    ● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

    ● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2144261/

    ● 本文博客园地址:http://www.cnblogs.com/lhrbest/p/7445468.html

    ● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

    ● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

    ● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

    .............................................................................................................................................

    ● QQ群号:230161599(满)、618766405

    ● 微信群:可加我微信,我拉大家进群,非诚勿扰

    ● 联系我请加QQ好友646634621,注明添加缘由

    ● 于 2017-08-23 09:00 ~ 2017-08-28 22:00 在魔都完成  农历七月七日 七夕节 情人节 单身狗

    ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

    ● 版权所有,欢迎分享本文,转载请保留出处

    .............................................................................................................................................

    小麦苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

    小麦苗出版的数据库类丛书http://blog.itpub.net/26736162/viewspace-2142121/

    .............................................................................................................................................

    使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

       小麦苗的微信公众号      小麦苗的DBA宝典QQ群1     小麦苗的DBA宝典QQ群2        小麦苗的微店

    .............................................................................................................................................


    DBA笔试面试讲解群1
    DBA笔试面试讲解群2
    欢迎与我联系



  • 相关阅读:
    A
    hdu 2108 Shape of HDU(判定是不是凸多边形)
    F
    J
    扩展欧几里得
    G
    A
    D
    E
    H
  • 原文地址:https://www.cnblogs.com/lhrbest/p/7445468.html
Copyright © 2020-2023  润新知