【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
1.1 BLOG文档结构图
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.4 Linux下各种安装方法比较
在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.6 MySQL下载
在官网: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.7 MySQL 5.7安装
1.7.1 下载
在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的MySQL下载:
注意: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值
[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 |
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:\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.1 Navicat for MySQL
1.7.18.2 MySQLWorkbench
MySQL官方提供的工具,还是比较实用的:
该工具比较强大,有很多的实用功能:
1.8 MySQL 5.6安装
1.8.1 下载
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:\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.9 MySQL 5.5安装
1.9.1 下载
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:\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 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/
说明:这里有两个包,在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_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/
下载高版本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 <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,太费空间了。最后的make和make 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:\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.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_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 |