【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
1.1BLOG文档结构图
1.2前言部分
1.2.1导读和注意事项
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
①MySQL的二进制安装过程(重点)
② MySQL多实例管理(mysqld_multi)
③MySQL的源码编译安装过程
④Linux的逻辑卷的使用
⑤文件的MD5值
⑥访问MySQL的几种客户端工具(Navicat和MySQLWorkbench)
⑦ 修改MySQL的密码
⑧ 设置MySQL的远程访问
⑨ 设置MySQL的开机启动以及多实例的开机启动
⑩RPM、二进制和源码编译的优缺点
Tips:
①本文在itpub(http://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.5、5.6和5.7版本的都需要安装。不过,相比Oracle而言,MySQL还是更好安装一点。
小麦苗出版的书籍:http://blog.itpub.net/26736162/viewspace-2142121/
废话已经说了很多了,下面开始安装吧。
1.4Linux下各种安装方法比较
在Windows下可以使用NOINSTALL包和图形化包来安装,在Linux下可以使用如下3种方式来安装:
RPM(Redhat Package Manage)
二进制(Binary Package)
源码(Source Package)
优点
安装简单,适合初学者学习使用
安装简单;可以安装到任何路径下,灵活性好;一台服务器可以安装多个MySQL
在实际安装的操作系统进行可根据需要定制编译,最灵活;性能最好;一台服务器可以安装多个MySQL
缺点
需要单独下载客户端和服务器;安装路径不灵活,默认路径不能修改,一台服务器只能安装一个MySQL
已经经过编译,性能不如源码编译的好;不能灵活定制编译参数
安装过程较复杂;编译时间长
文件布局
/usr/bin:客户端程序和脚本
/usr/sbin:mysqld服务器
/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:库
scripts:mysql_install_db用来初始化系统数据库
share/mysql:错误消息文件
sql-bench:基准程序bin:客户端程序和脚本
include/mysql:包含(头)文件
info:Info格式的文档
lib/mysql:库文件
libexec:mysqld服务器
share/mysql:错误消息文件
sql-bench:基准程序和crash-me测试
var:数据库和日志文件
主要安装过程
在大多数情况下,下载MySQL-server和MySQL-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",如下图所示,
1.5注意事项
1.目录大小。MySQL 5.7的二进制安装后大约3G,所以可以分配5G空间;而5.5和5.6版本的二进制包安装可以分配2G左右。
2.MySQL 5.7的源码包需要分配10G的空间。cmake最低需要2.8.2版本。
3.下载和上传后需要校验md5值,防止上传的文件不完整。
4.源码编译安装比较费时费力。
1.6MySQL下载
在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的MySQL下载:
注意:MD5:dbe7e5e820377c29d8681005065e5728,下载完成后需要校验。
感觉MySQL的安装包越来越大了,不过相比Oracle而言,就小的多了。小麦苗已经将安装文件放到云盘了,参考:http://blog.itpub.net/26736162/viewspace-1624453/。
注意:不要下载rpm类型的包,安装路径不灵活,默认路径不能修改,一台服务器只能MySQL安装一个MySQL。下图下载后均是rpm包:
1.6.1历史MySQL版本下载
地址:https://downloads.mysql.com/archives/community/,最早版本只能看到5.0.15
1.7MySQL 5.7安装
1.7.1下载
在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的MySQL下载:
注意:MD5:dbe7e5e820377c29d8681005065e5728,下载完成后需要校验。
1.7.2OS路径设置
我们约定:
项目
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 -L5G 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.1OS设置
关闭iptables防火墙:
临时关闭:service iptables stop
永久关闭:chkconfig iptables off
关闭selinux
vi /etc/sysconfig/selinux
将SELINUX修改为DISABLED,即SELINUX=DISABLED
1.7.3上传文件并校验MD5值
[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
dbe7e5e820377c29d8681005065e5728mysql-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
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 –smysql-5.7.19-linux-glibc2.12-x86_64mysql5719
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
注意:MySQL5.7.6之后的版本初始化数据库不再使用mysql_install_db,但是在MySQL 5.7.19里依然保留着这个文件。
官网:https://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html
mysql_install_dbis deprecated as of MySQL 5.7.6 because its functionality has been integrated intomysqld, the MySQL server. To initialize a MySQL installation, invokemysqldwith the--initializeor--initialize-insecureoption. For more information, seeSection2.10.1.1, “Initializing the Data Directory Manually Using mysqld”.mysql_install_dbwill 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 mysql57on
[root@LHRDB support-files]#chkconfig --level 345 mysql57on
注意:这里的MySQL服务为mysql57
1.7.13启动MySQL
[root@LHRDB support-files]# service mysql57start
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 mysql57start
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.17Windows远程登录
在Windows下远程登录:
D:\Users\xiaomaimiao>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:\Users\xiaomaimiao>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.1Navicat for MySQL
1.7.18.2MySQLWorkbench
MySQL官方提供的工具,还是比较实用的:
该工具比较强大,有很多的实用功能:
1.8MySQL 5.6安装
1.8.1下载
1.8.2OS路径设置
[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.cnfand
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:\Users\xiaomaimiao>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.9MySQL 5.5安装
1.9.1下载
1.9.2OS路径设置
[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:\Users\xiaomaimiao>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 mysql57off
[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.3mysqld_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/
说明:这里有两个包,在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
[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_57sc9.9G 683M9.4G7% /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) "
From : /media/lhr/cdrom/RPM-GPG-KEY-redhat-release
Importing GPG key 0x2FA658E0:
Userid: "Red Hat, Inc. (auxiliary key) "
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/
下载高版本cmake,http://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
---------------------------------------------
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,太费空间了。最后的make和make install大概用了40分钟,太费时间了。。。。。
1.11.7初始化MySQL
注意:MySQL5.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 start573309
[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.12Windows远程登录
在Windows下远程登录:
D:\Users\xiaomaimiao>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.1ABORT: 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=
This CMake script will look for boost in . 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_BOOST和WITH_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小麦苗的微店
.............................................................................................................................................