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

 

MySQLLinux下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、二进制和源码编译的优缺点

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

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

实验中用到的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 [email protected]‘%‘ 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        小麦苗的微店

.............................................................................................................................................

时间: 2024-10-07 04:50:54

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装的相关文章

[Linux &amp; Mysql] Linux下Mysql的基本操作

1. 连接Mysql 1.1 连接到本机上的Mysql 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 1.2 连接到远程主机上的Mysql 格式:mysql -h主机地址 -u用户名 -p用户密码 假设远程主机的IP

解决Windows&Linux下Mysql忘记ROOT密码

MySQL忘记root密码怎么办?一般情况下会有两种思路:找回密码和重置密码.在实际的工作中,MySQL数据库忘记root密码一般采用重置密码的办法去解决.下面就看看在Linux下和在Windows下重置root密码的步骤. Windows下MySQL忘记root密码怎么办? 1.以系统管理员身份登陆系统,启动mysql跳过权限检查. d:\mysql\bin\mysqld-nt –skip-grant-tables 2.进到d:\mysql\bin下,使用mysqladmin命令设置密码 d:

Linux下MySQL忘记密码

系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad80a8caf14634c4f013.html 具体步骤如下: 修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables 保存配置文件后,重启MySQL服务 service mysqld restart 再次进入MySQL命令行 mysq

linux下mysql忘记root密码怎么办

Linux下MySQL忘记root密码怎么办? Linux下MySQL忘记root密码怎么办? 1. 修改MySQL配置文件 默认MySQL的配置文件为/etc/my.cnf,在[mysqld]下面添加一行 1.skip-grant-tables 2. 保存配置文件,重启MySQL服务 1.service mysqld restart 3. 再次进入MySQL 1.[[email protected] mysql]$ mysql -u root -p2.Enter password: #此处直接

linux下mysql 安装

小菜鸟接触linux太晚, 装个mysql(免安装 mysql-5.6.22-linux-glibc2.5-x86_64版本,最简单的安装方法) 竞折腾了两个晚上… 网上到处有linux下mysql的安装,但我自己安装过程中总出现这样那样的问题,现将此次安装过程及错误记录,以供自己日后参考,也希望可以给后来人一些帮助… 1. 去Oracle下载mysql-5.6.22-linux-glibc*.tar.gz 2.解压 tar -zxvf mysql-5.6.22-linux-glibc*.tar

linux下MySQL安装及设置

1. 关于本文    本文将以MySQL 5.0.51为例,以CentOS 5为平台,讲述MySQL数据库的安装和设置. 2. 关于MySQL    MySQL是最流行的开源SQL数据库管理系统,它由MySQL AB开发.发布和支持.MySQL AB是一家由MySQL开发人员创建的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司.MySQL是MySQL AB的注册商标.    MySQL是一个快速的.多线程.多用户和健壮的SQL数据库服务器.MySQL服务器支持关

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

一看便知linux下mysql报错ERROR 1044: Access denied for user: &#39;@localhost&#39; to database &#39;mysql&#39;

错误信息:ERROR 1044: Access denied for user: '@localhost' to database 'mysql' linux下解决方案: mysql> use mysql ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'mysql' mysql> exit Bye [[email protected] ~]# service mysqld stop如果该命令不

linux下MySQL 5.6源码安装

linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件包 yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake 3.编译安装 添加用户 groupad