一、初始mysql

mysql介绍:

mysql版本:

版本号=3个数字+1个后缀

mysql-5.0.9-beta

5

0

9

Beta

主版本号

发行级别

发行稳定级别

发行系列

发行系列的版本号

注:

alpha:新版本,新功能,大量未测试代码

beta:完整版本,所有代码已被测试,没有已知bug

rc:发布版本,稳定

mysql产品分类:

1. MySQL Community Server社区版本,开源免费,但不提供官方技术支持

2. MySQL Enterprise Edition企业版本,付费,可以免费试用30天

3. MySQL Cluster集群版,开源免费,可见多个mysql server封装成一个server

4. MySQL Cluster CGE高级集群版,需付费

5. MySQL Workbench(GUI TOOL) 一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。

MySQL Community Server 是开源免费的,这也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本。

mysql下载

下载地址:http://www.mysql.com/downloads/

mysql安装方式

linux三种安装方式:rpm包安装,二进制形式安装,源码编译安装

linux三种安装方式的区别:

 

RPM

二进制

源码

优点

安装简单

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

可根据实际环境需求定制编译参数,最灵活;一台服务器可以安装多个mysql

缺点

需要单独下载客户端和服务器;

安装路径不灵活,默认路径不能修改,一台服务器只能装一个mysql

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

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

1、rpm安装

mysql中rpm包类型的介绍:

MySQL-client         客户端组件 
MySQL-debuginfo      调试MySQL的组件 
MySQL-devel         
想针对于MySQL编译安装PHP等依赖于MySQL的组件包 
MySQL-embedded      
MySQL的嵌入式版本 
MySQL-server        
共享库 
MySQL-shared        
共享库 
MySQL-shared-dompat  为了兼容老版本的共享库 
MySQL-test          
MySQL的测试组件(在线处理功能)

安装方法:

首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:

MySQL-(Server|Client)-(community|enterprise)-(版本号).1.(操作系统类型).CPU类型(例如i386).rpm

MySQL-server-community-5.5.28-1.rhel5.i386.rpm

MySQL-client-community-5.5.28-1.rhel5.i386.rpm

接着我们可以使用rpm命令进行安装:

rpm -ivh
MySQL-server-community-5.5.28-1.rhel5.i386.rpm

rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm

补充一点:

-h 使用符号#显示安装进度

-v 报告每一步操作的情况

-i 表示进行安装操作

2、通用二进制包安装

(1)新建用户以安全方式运行进程:

groupadd -r mysql

useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql

chown -R mysql:mysql /mydata/data

首先下载操作系统对应的mysql版本至本地,这里是32位操作系统,因此,选择的为mysql-5.5.28-linux2.6-i686.tar.gz(2)安装并初始化mysql-5.5.28

tar xf mysql-5.5.-linux2.-i686.tar.gz -C /usr/local

 cd /usr/local/

 ln -sv mysql-5.5.-linux2.-i686 mysql

 cd mysql

 chown -R mysql:mysql .

 scripts/mysql_install_db --user=mysql --datadir=/mydata/data

 chown -R root .

(3)为mysql提供主配置文件:

cd /usr/local/mysql

cp support-files/my-large.cnf /etc/my.cnf

(4)修改配置文件:

修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:

thread_concurrency = 2

另外还需要添加如下行指定mysql数据文件的存放位置:

datadir = /mydata/data

(5)为mysql提供sysv服务脚本:

cd /usr/local/mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

(6)添加至服务列表:

chkconfig --add mysqld
chkconfig mysqld on

(7)而后就可以启动服务测试使用了。

service mysqld start

3、源码编译

(安装编译方式有点改变,配置过程无太大变动,所以后面不详细介绍各个步骤了)
若想在5.0系列的红帽系统上进行源码编译安装MySQL必须借助一个跨平台编译器cmake

所以:

(1)首先安装cmake

安装cmake需要用make

tar xf cmake-...tar.gz

cd cmake-..

./bootstrap  使用此脚本来检测编译环境

make

make install

(2)编译安装mysql-5.5.28

使用cmake编译mysql-5.5.28,选项的方式有所改变简单介绍一下。。。

cmake指定编译选项的方式不同于make,其实现方式如下:

cmake .

cmake . -LH 或 ccmake .        查找可以使用的相关选项

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql         指定安装路径 
-DMYSQL_DATADIR=/data/mysql                    
数据安装路径 
-DSYSCONFDIR=/etc                              
配置文件的安装路径

由于MySQL支持很多的存储引擎而默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1         
安装INNOBASE存储引擎 
-DWITH_ARCHIVE_STORAGE_ENGINE=1          
安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1        
安装BLACKHOLE存储引擎 
-DWITH_FEDERATED_STORAGE_ENGINE=1        
安装FEDERATED存储引擎

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1       
不启用或不编译EXAMPLE存储引擎 
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1 
-DWITH_SSL=system           表示使用系统上的自带的SSL库 
-DWITH_ZLIB=system 
-DWITH_LIBWRAP=0

其它常用的选项:

-DMYSQL_TCP_PORT=3306                      
设置默认端口的 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock          
MySQL进程间通信的套接字的位置 
-DENABLED_LOCAL_INFILE=1                   
是否启动本地的LOCAL_INFILE 
-DEXTRA_CHARSETS=all                       
支持哪些额外的字符集 
-DDEFAULT_CHARSET=utf8                     
默认字符集 
-DDEFAULT_COLLATION=utf8_general_ci        
默认的字符集排序规则 
-DWITH_DEBUG=0                             
是否启动DEBUG功能 
-DENABLE_PROFILING=1                       
是否启用性能分析功能

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean 
rm CMakeCache.txt

编译安装

tar xf mysql-5.5..tar.gz

 cd mysql-5.5.

 groupadd -r mysql

 useradd -g -r mysql mysql

 mkdir -pv /data/mydata

 chown -R mysql:mysql /data/mydata

 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_ARCHIVE_STORAGE_ENGINE= -DWITH_BLACKHOLE_STORAGE_ENGINE= -DWITH_READLINE= -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP= -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

 make

 make install

 cd /usr/local/mysql

 chown -R :mysql . 更改属组

 scripts/mysql_install_db --user=mysql --datadir=/data/mydata/ 指定数据存放位置

 cp support-files/my-large.cnf /etc/my.cnf  创建配置文件

编辑配置文件

vim /etc/my.cnf

添加如下行指定mysql数据文件的存放位置:

datadir = /mydata/data

创建执行脚本和启动服务

cp support-files/mysql.server /etc/rc.d/init.d/mysqld 复制脚本
chmod +x /etc/rc.d/init.d/mysqld 执行权限
chkconfig -add mysql 添加到服务列表中
service mysqld start 启动服务
bin/mysql 启动mysql

卸载方法:

#rpm –ev MySQL-server-5.1.72-1.glibc23

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             --基准程序

windows两种安装方式:mysql安装包方式安装,mysql压缩包方式安装

mysql安装包方式安装:msi安装,双击启动安装程序,然后一步一步点击安装就可以了。

mysql压缩包方式安装: 解压压缩包,把解压后目录下的bin目录添加到path环境变量中。以管理员身份运行命令行,进入对应的bin目录,注意一定要进入目录后输入mysqld  -install进行安装, 否则net start mysql会出现系统错误2,输入mysqld -install ,另外mysqld -remove是移除mysql,卸载的时候有用。最后在命令行中输入net start mysql,启动mysql服务。配置先在mysql目录下的my-default.in复制成另一份my.ini,然后再my.ini中配置,在my-default.ini配置目测是没有用的,在my-default.ini修改的端口,但是net start mysql,使用的端口依然为3306。

mysql初识笔记的更多相关文章

  1. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  2. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  3. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  4. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

  5. MYSQL基础笔记(五)- 练习作业:站点统计练习

    作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...

  6. MYSQL基础笔记(四)-数据基本操作

    数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...

  7. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  8. MYSQL基础笔记(二)-SQL基本操作

    SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...

  9. MYSQL基础笔记(一)

    关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...

随机推荐

  1. Python之流程控制——if...else...

    Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...

  2. [目录] ASP.Net Core 搭建微服务网站

    本项目采用ASP.Net Core微服务技术,搭建博客和Saas平台. 全文将围绕(1)设计模式  (2)敏捷开发 目的: 结构足够合理,代码足够优美,扩展性.可读性.易维护性做到最优. 以下目录仅为 ...

  3. Java发送邮件必带超时时间配置

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在线上遇到了一个发送邮件的问题,记录一下. 一.先说 ...

  4. The Sultan's Successors UVA - 167

    the squares thus selected sum to a number at least as high as one already chosen by the Sultan. (For ...

  5. 牛客练习赛51 A abc

    A. abc 题意: 给出一个字符串s,你需要做的是统计s中子串”abc”的个数.子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串.如”abc”的子 ...

  6. 微信小程序 select 下拉框组件

    一.源码地址 https://github.com/imxiaoer/WeChatMiniSelect 二.效果图 录屏图片质量较差,所以大家会看到残影(捂脸) 三.组件源码 1. select.wx ...

  7. 基于WFST的语音识别解码器

    学习语音识别有些时间了.老板要求我们基于Kaldi搭一个语音识别系统,在设备上通过MIC讲话,连着设备的PC的console上就能基本实时显示出讲话的内容.由于我们都是小白,刚开始可以要求低些,就用传 ...

  8. Salesforce LWC学习(六) @salesforce & lightning/ui*Api Reference

    上一篇中我们在demo中使用了很多的 @salesforce 以及 lightning/ui*Api的方法,但是很多没有细节的展开.其实LWC中针对这些module提供了很多好用的方法,下面对这两种进 ...

  9. Mysql的事务及行级锁

    转自:http://www.cnblogs.com/edwinchen/p/4171866.html 以签到为例,每个用户每天只能签到一次,那么怎么去判断某个用户当天是否签到呢?因为当初表设计的时候, ...

  10. Kafka的安全认证机制SASL/PLAINTEXT

    一.背景 kafka提供了多种安全认证机制,主要分为SSL和SASL2大类.其中SASL/PLAIN是基于账号密码的认证方式,比较常用.最近做了个kafka的鉴权,发现官网上讲的不是很清楚,网上各种博 ...