【MySQL】MySQL无基础学习和入门之二:MySQL的安装
安装
MySQL安装一般分为源码包编译安装、分发包、rpm包安装和yum安装,四种安装方式有一些区别,对应的适用场景也不一样。
源码包:源码包就是程序源代码包,其中包含程序代码文件,这些代码文件是文本型,可以直接通过编辑器打开阅读内容,这里的程序还不能直接使用,因为操作系统和电脑无法直接调用文本代码,需要语言编译器将文本代码编译成二进制文件,编译完成的输出就是分发包。Windows系统安装软件时经常会出现一个自定义安装的选项,用户可以自主选择软件部分功能安装,取消安装不需要的组件,增加安装默认组件外的可选功能,在Linux系统上是通过编译参数控制软件自带功能的安装,稍后在编译安装MySQL时会举例说明。如果有C/C++语言功底我推荐网易研究院姜承尧的《MySQL内核:InnoDB存储引擎(卷1)》这本书,主要是对InnoDB存储引擎的功能实现分析。
分发包:分发包是通过源码包编译完成的软件,可以直接使用,像Windows系统中的软件绿色版,解压即可用,所以在上面罗列四中安装方式时只有分发包没有“安装”两字。由于在公司生产环境中可能会出现Linux服务器版本不同、底层c和c++等语言库版本不同,可以根据系统环境版本及稳定性的需要选择源码包编译安装,或直接使用分发包。源码包编译安装可以根据自己需要选择开启或关闭一些功能,分发包由于是已经编译好的,无法再进行选择和调整,除非使用源码包修改编译参数再编译。
rpm安装:rpm包安装不用编译,可以从MySQL官网下载rpm包。下载好rpm包后使用rpm命令安装,相比较源码包编译和分发包更简单。
yum安装:Linux系统的yum命令支持最简单、快捷的软件安装方式,当Linux系统联网且yum源配置好,可以使用“yum install”加软件包名就可以安装该软件以及相关所需要的环境软件,安装MySQL执行“yum install mysql-server mysql”即可(yum支持同时安装多个软件包,例如mysql-server和mysql实际在yum源中是两个部分,mysql-server是MySQL的服务端功能包,mysql是客户端功能包)。
对于上面提到的源码编译安装、分发包、rpm和yum安装下面会介绍更多,但是对于系统层面的“rpm”和“yum”命令可以去网上搜索了解更多。
官网下载
MySQL官方下载地址:http://dev.mysql.com/downloads/mysql/
在下载页面中:
“Select Platform”的“Source Code”是源码包
“Linux - Generic”是官方分发包
“Red Hat EnterPrise Linux/Oracle Linux”中下载rpm包
源码包编译安装
#需要先安装cmake,如果没有配置yum源可以编译安装(MySQL5.5以后需要cmake的编译环境)
[root@Centos6.3.2 ~]# yum -y install cmake.x86_64
#下载源码包(如果系统可以上网直接wget下载,如果是虚拟机可以在实体机下载好在虚拟机总使用“rz”命令或者实体机中的SecureFX上传)
[root@Centos6.3.2 ~]# cd /
[root@Centos6.3.2 ~]# wget http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48.tar.gz
#解压源码包
[root@Centos6.3.2 /]# tar -zxvf mysql-5.5..tar.gz
#进入源码包目录
[root@Centos6.3.2 /]# cd mysql-5.5.
#cmake源码参数
#注意参数“-DCMAKE_INSTALL_PREFIX=”控制MySQL源码编译完软件放置的路径,通常情况用户自主安装的软件放置在“/usr/local/”下
#参数“-DWITH_INNOBASE_STORAGE_ENGINE=1”说明开启InnoDB引擎
#参数“-DDEFAULT_CHARSET=utf8”说明默认使用的字符集为utf8(字符集不在这里解释)
#配置编译参数(编译参数很多,熟悉安装和MySQL功能后可以自己查询学习)
[root@Centos6.3.2 mysql-5.5.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DDEFAULT_CHARSET=utf8
#进行编译
[root@Centos6.3.2 mysql-5.5.]# make && make install
#编译完成后可以查看安装完成的软件如下
#bin路径下都是MySQL的命令,包含MySQL启动、停止、备份等命令
#include、lib等路径下都是MySQL底层编译完成的类库文件
#scripts下面有初始化MySQL的脚本,每个MySQL都需要初始化建立最基础的系统表及用户表(也可以使用相同版本的初始化文件在其他未初始化实例中使用,就可以省略执行初始化脚本)
[root@test1 mysql-5.5.]# ll /usr/local/mysql
total
drwxr-xr-x root root Oct : bin
-rw-r--r-- root root Mar COPYING
drwxr-xr-x root root Sep : data
drwxr-xr-x root root Sep : docs
drwxr-xr-x root root Sep : include
-rw-r--r-- root root Mar INSTALL-BINARY
drwxr-xr-x root root Sep : lib
drwxr-xr-x root root Sep : man
drwxr-xr-x root root Sep : mysql-test
-rw-r--r-- root root Mar README
drwxr-xr-x root root Oct : scripts
drwxr-xr-x root root Sep : share
drwxr-xr-x root root Sep : sql-bench
drwxr-xr-x root root Sep : support-files
上面编译完成后在/usr/local/mysql中的文件,基本就是分发包解压后的文件(由于编译参数不同,文件基本一样,但是文件内容存在差异)。
由于编译安装之后的操作过程与分发包后续操作基本相同,所以分发包使用的操作不单独说明,部分区别后续会与编译安装操作分开说明。
分发包下载地址:http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48-linux2.6-x86_64.tar.gz
分发包下载后可以直接放在/usr/local/路径下解压,也可以在别的路径下解压直接使用。
rpm安装
MySQL-client下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-client-5.5.48-1.linux2.6.i386.rpm
MySQL-server下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-server-5.5.48-1.linux2.6.i386.rpm
下载好rpm包后,使用rpm命令安装(rpm命令其他参数请自己查询学习)
[root@test /]# rpm -ivh MySQL-client-5.5.-.linux2..i386.rpm
[root@test /]# rpm -ivh MySQL-server-5.5.-.linux2..i386.rpm
如果没有报错就说明安装成功。
yum安装
【MySQL】MySQL无基础学习和入门之二:MySQL的安装的更多相关文章
- 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建
数据库基础概述 大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...
- 【MySQL】MySQL无基础学习和入门大纲
一.安装 1.yum安装 2.分发包安装 3.配置文件 4.初始化数据库 二.启动 1.service mysqld start默认配置启动 2.mysqld_safe方式加载配置文件启动 3.mys ...
- MySQL数据库的基础学习
1.什么是数据库 用来存储数据的仓库,简称数据库; 数据库可以在硬盘和内存中存储数据 数据库存储数据的本质: 通过文件来存储数据 2.数据库存储数据与文件存储的区别 (1).一个文件仅仅只能存储在一个 ...
- {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...
- python基础学习24----使用pymysql连接mysql
使用pymysql连接mysql 安装pymysql pymysql安装可以通过两种方式 使用pip安装 首先简单说一下pip的使用方法 获取帮助 pip --help 升级 pip pip inst ...
- R基础学习(一)-- 连接mysql数据库
测试环境:win10+RStudio (1)在Console加载两个插件 >install.packages('DBI') Installing package into ‘C:/Users/l ...
- 2019-9-17:渗透测试,基础学习,apache初识,mysql初识等笔记
python -m SimpleHTTPServer gedit 文本编辑器 apache2 默认配置文件目录:/etc/apache2/apache2默认首页源码: /var/www/html my ...
随机推荐
- C++命名空间 namespace的作用和使用解析
一. 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突. 在 C语言中定义了3个层次的作用域,即文件(编译单元).函数和复合语句.C ...
- python随文档
UNIX网络编程--socket的keep http://www.68idc.cn/help/opersys/unixbsd/20150731471448.html 云计算学习和实践: 原创<每 ...
- 如何利用svn自动同步更新到网站服务器
我们最终的目的是:当本地提交后,SVN服务器自动更新服务器端指定WEB目录内的文件 实现方法: 找到服务器端 SVN版本库所在的目录(目录名称是Repositories),这个目录是在安装Visual ...
- Tomcat的8009端口AJP的利用
Tomcat在安装的时候会有下面的界面,我们通常部署war,用的最多的是默认的8080端口. 可是当8080端口被防火墙封闭的时候,是否还有办法利用呢? 答案是可以的,可以通过AJP的8009端口,下 ...
- js上移、下移、置顶、置底功能实现
实现页面上列表内容上移.下移.置顶.置底 功能,主要实现思路是节点操作,比如说:上移,直接把点击项移动到前一个节点,以此类推,当然实际代码实现还要加些判断,如当前点击操作项是否已经是置底或置底了,如果 ...
- mysql 实现oracle start with connect by递归
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. ...
- ajax 如何实现页面跳转
老师,您好.jquery的ajax如何实现页面跳转?例如:登陆页面属于用户名和密码后,点击登陆,验证用户名和密码,正确后,跳转到其他页面.能否给个例子. 下面列了五个例子来详细说明,这几个例子的主要功 ...
- Understanding Asynchronous IO With Python 3.4's Asyncio And Node.js
[转自]http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html Introduction I spent this su ...
- [SQL]SUTFF内置函数的用法
STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...
- echart 图表 在.net中生成图片的方法
经过中午近两个小时的努力,终于可以实现了:echart 图表 在.net中生成图片 以下源代码: 前台页面: <!DOCTYPE html><html><head> ...