Linux运维 第四阶段 (一) myql基本概念及编译安装步骤

一、相关基础概念:

1、  文件存储:数据冗余和不一致性;数据访问困难;数据孤立;完整性问题;原子性问题;并发访问异常;安全性。

2、  DBMS(DataBase Management System)功能:数据管理的独立性;有效地完成数据存取;数据完整性、安全性;数据集中管理;并发存储、数据恢复;减少应用程序开发周期。

3、  RDBMS(Relational DBMS):数据库和表的创建、删除、修改;索引的创建、删除;用户和权限的管理;数据的增删改查等。

4、  DML(Data Manapulate language):INSERT INTO、UPDATE、DELETE、REPLACE、SELECT;

DDL(Definition):CREATE、ALTER、DROP;

DCL(Control):GRANT、REVOKE。

注:命令不区分大小写,但最好养成良好的习惯,命令用大写,方便以后查看复杂语句等等。

5、  程序:指令+数据。二分法查找14次可找到;BTREE索引4次可找到。

6、  数据的组织结构:层次型(有上下级关系,耦合度紧密);网状结构;关系型结构(表)。

7、  马哥的蒸馒头理论:系统提供给我们的是种子;库提供给我们的是面;通过SHELL我们就可以有馒头了。

8、  程序员或开发人员通过驱动(翻译软件,编程接口比API更简单易用)来完成查询操作;一般用户通过终端登录命令行操作;线程池:大量用户流进、控制流量。

9、  去IOE化(IBM、ORACLE、EMC)。

10、             MYSQL(MY StructureQuery Language)软件包格式:二进制包(软件包管理器特有的RPM、EXE、MSI);通用二进制格式(不用安装,解压后简单配置即可使用);源码包(编译安装)。

11、             MYSQL:C/S架构,client-side(软件mysql),server-side(软件mysql-server)。

12、             安装完成后MYSQL需初始化(初始化就是建立MYSQL自身数据库,库名就是mysql,普通用户登录看不到此库)。

13、             server-side登录:

#mysql (使用此方法直接登录,则默认用root、空密码、本地登录);

#mysql  -u(--user)  USERNAME -p(--password)  -h(--host)  my_server (-u 指定用户,-p 需输入密码,若空密码直接回车,-h指定指定哪一台主机或IP登录)。

14、             元数据区(存元数据如INODE);数据区(划分为磁盘块)。

15、             RDB对象:库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器。

16、             CONSTRAINT(约束):

域约束(数据类型的约束);

外键约束(引用完整性约束);

主键约束(某字段能唯一标识此字段所属的实体,并且不允许为空,一张表只能有一个主键);

唯一性约束:每一行的某字段都不允许出现相同值,可以为空,一张表可以有多个;

检查性约束

17、             文件:表示层(对用户)、逻辑层(文件系统—存储引擎)、物理层(数据块);

关系型数据:表示层(表)、逻辑层(存储引擎)、物理层(数据文件)。

18、             数据查询和存储:查询管理器(DML解释器、DDL解释器、查询执行引擎);存储管理器(权限及完整性管理器、事务管理器、文件管理器、缓冲区管理器)。

19、             MYSQL单进程多线程(守护线程、应用线程);线程重用(Thread reuse);

20、             MYSQL优势:speed/relibility(稳定性)/scalability(伸缩性)/ease ofuse/portability and standards compliance/multiusersupport/internationalization/wide applicationsupport(C/C++/Java/perl/php/python/ruby/JDBC/ODBC/.NET)/opensource。

21、             MYSQL在32bit系统上,最多可用2.7G内存;在64bit系统上,对smp(对称多处理器支持性较差);一个单独语句仅在一个CPU上运行。

22、             投影(只输出指定属性,例:>SELECT  col1,col2  FROM stl_name;);

选择(只输出符合条件的行,例:>SELECT  col1,col2  FROM stl_name  WHERE  col3=’value’;);

自然连接:具有相同名字的所有属性上取值相同的行,例:tbl1_name.col_name=tbl2_name.col_name;

笛卡尔积:(a+b)*(c+d)=ac+bd+bc+bd;

并:集合运算。

23、             SQL语言的组成部分:DDL、DML、DCL、完整性定义语言(DDL的一部分)、视力定义、事务控制、嵌入式SQL和动态SQL。

24、             使用程序设计语言如何跟RDBMS交互:嵌入式SQL(与动态SQL类似,但其语句必须在程序编译时完全确定下来);动态SQL(程序设计语言使用函数(mysql_connect())或者方法与RDBMS服务器建立连接,并进行交互;通过建立的连接向SQL服务器发送查询语句,并将结果保存至变量中而后进行处理。)。

25、             MYSQL插件式存储引擎:MyISAM(不支持事务,表锁,但性能好适用于数据仓库,修改少、查询多的场景);InnoDB(支持事务,行锁,工作类似ORACLE,适用于在线事务处理)。

26、             文件中记录组织:堆文件组织(一条记录可放在文件中任何地方);顺序文件组织(根据搜索码(索引字段)排序);散列文件组织(hash)。

27、             Data Dictionary(关系的元数据):表名、字段名、字段类型和长度、视图、约束、用户名字、权限密码。

28、             Alpha(内测版)——》Beta(公测版)——》RelaseCandidate(发行候选)——》GA(General Availability)。

29、             MySQL启动时查找中心配置文件my.cnf优先级顺序:/etc/my.cnf-->/etc/mysql/my.cnf-->$MYSQL_HOME/my.cnf-->--default-extra-file=/path/to/file-->~/my.cnf。

30、             表管理器(负责创建、读取、修改表结构定义文件,维护表描述符调整缓存,管理表锁);

表定义模块:表的创建、删除、重命名、移除、更新、插入;

表维护模块:检查、修改、备份、恢复、优化(碎片整理)及解析。

31、字符集:汉字与编码的对应关系,例:GBK/GB2312/UTF-8/GB18030

32、#ls  /mydata/data/mysql (查看mysql数据目录下的文件)

若存储引擎是MyISAM,创建的表有三个文件(.frm表结构,.MYD表数据,.MYI表索引);

若存储引擎是InnoDB,创建的表有二个文件(.frm表结构,.ibd表空间(包括表结构和表索引)),另db.opt(存放默认字符集及排序规则)

33、InnoDB存储引擎,所有表共享一个表空间文件,建议改为每表一个独立的表空间文件,方法:改配置文件my.cnf在[mysqld]区域添加一行innodb_file_per_table  =  1,重启服务后登录mysql,查看>SHOW  GLOBAL VARIABLES  LIKE  ‘%innodb%’;

二、编译安装mysql5.5.23(redhat6.4)步骤:

#hwclock -s  (set the system timefrom the hardware clock,另-w(set the hardware clock to the current system time)

#mkdir -pv /mydata/data  (最好将此目录挂载至独立的LVM分区磁盘)

#groupadd -r  mysql

#useradd -r  -g  mysql -d  /mydata/data  mysql

#id mysql

#chown -R  mysql:mysql  /mydata/data

#tar zxvf  cmake-3.3.0.tar.gz   (跨平台编译器,其中cmake .(相当于./configure),cmake . –LH(相当于./configure–help))

#cd cmake-3.3.0

#./bootstrap

#make &&  make install

#which cmake  (查看cmake二进制文件路径)

#tar zxvf  mysql-5.5.23.tar.gz

#cd /mysql-5.5.23

#cmkae .  –LH | less  (查看可编译选项)

#cmake .-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data-DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1-DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  (确保此处所有选项对应软件及组件都要安装,例:SSL对应安装openssl)

#make &&  make  install

#chown -R  :mysql  /usr/local/mysql  (将此目录改组名为mysql)

#cd /usr/local/mysql

#scripts/mysql_install_db  --user=mysql --datadir=/mydata/data  (初始化)

#cp support-files/my-large.cnf /etc/my.cnf  (复制模板配置文件)

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

#chkconfig --add  mysqld

#chkconfig --list  mysqld

#service mysqld  start

#vim  /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

#source /etc/profile.d/mysql.sh

#echo $PATH

#vim /etc/my.cnf

[mysqld]添加一行

datadir =  /mydata/data

#mysql (使用此方法直接登陆)

>USE mysql;

>SELECT User,Host,Password  FROM  user;

>UPDATE mysql.user  SET  PASSWORD=PASSWORD(‘redhat’)  WHERE User=’root’;  (将有关本地所有root帐户全部改密码为redhat,注意:root(127.0.0.1)和root(localhost)不是同一帐户,虽然改密码结果都是作用于本地root。)

>DROP USER  ‘’@localhost;

>DROP USER  ‘’@localhost.localdomain;  (删除两个匿名帐户)

>SHOW ENGINES;  (查看支持的存储引擎)

#mysql -uroot  -p -h  localhost  (为使以后方便在本地使用#mysql直接登录可在家目录下新建~/.my.cnf,添加如下语句:

[client]

user =  root

password =  redhat

host =  localhost

本篇主要来自学习《马哥网络视频》做的笔记。

时间: 2024-10-07 00:39:15

Linux运维 第四阶段 (一) myql基本概念及编译安装步骤的相关文章

Linux运维 第五阶段(四) corosync&pacemaker

Linux运维 第五阶段(四)corosync&pacemaker 一.相关概念: 补充 { what is high Availability? A=MTBF/(MTBF+MTTR) MTBF(mean time betweenfailures平均无故障时间) MTTR(mean time to repair平均修复时间) two ways improve availability? increase MTBF to very large values reduce MTTR to very

Linux运维课程 第一阶段 重难点摘要(四)CISCO

Linux运维课程第一阶段重难点摘要(四)CISCO 一.路由器接口操作: 1.#show running-config  查看接口 2.#interface fastethernet 0/1      进入f0/1配置(0/1,0代表插槽1代表端口.若是s0/0/0,第一个0表示路由器本身) 3.#interface fastEthernet 0/1 #description tachingroute    接口描述 4.#do show running-config         do 

Linux运维课程 第一阶段 重难点摘要(五)CISCO

Linux运维课程第一阶段重难点摘要(五)CISCO 一.高级路由管理 1.        路由:数据包从一台设备通过网络发往另一台不同网络中的设备,路由器不关心这些主机,它们只关心网络和通向每个网络的最佳路径.目的主机的IP地址用来保证数据包可以通过路由到达目的网络,而主机的MAC地址用于将数据包从路由器投递到目的主机. 静态路由:由管理员手动输入到路由表中的路由:不占用带宽,不会随着网络拓扑的变化而变化,缺少灵活性: 动态路由:通过动态学习得到路由:占用网络带宽和CPU资源:会随着网络拓扑的

Linux运维 第三阶段 (二十) tomcat

一.相关概念(1.编程语言:2.servlet.jsp:3.tomcat): tomcat(app-server server) 为提高tomcat工作性能,前端要引入很多组件(如cache server(varnish)同样对它生效) 1.编程语言: php相关框架.网站程序设计涉及到的基本内容: php: 开发语言,脚本语言,动态语言: 安装的php是个运行环境: 用php开发语言开发网站程序,这个程序在运行环境中解释执行,若每条指令都解释执行.每个用户请求的动态内容都解释执行这将非常慢:在

Linux运维 第三阶段 (十九) varnish(1)

Linux运维 第三阶段 (十九) varnish 一.相关概念: http/1.0-->http/1.1(重大改进:对缓存功能实现了更精细化的设计) RFC(request file comment,每一种协议都有请求注解文档,讲协议规范) http页面由众多的web object组成,有些是静态,有些是通过程序执行后生成的:为加速web的访问,browser中引入了缓存机制,能将访问的静态内容或可缓存的动态内容缓存到本地,而后client再次到原始server上请求之前相同的内容时,如果原始

Linux运维 第五阶段(九)iSCSI & cLVM & gfs2

Linux运维 第五阶段(九)iSCSI&cLVM&gfs2 gfs2(global file system version2,全局文件系统,CFS集群文件系统,利用HA的信息层,向各node通告自己所持有锁的信息) cLVM(cluster logical volume management,集群逻辑卷管理,将共享存储做成逻辑卷,借用HA的心跳传输机制(通信机制,对于脑裂处理的机制),各node要启动clvmd服务(此服务启动前要启动cman和rgmanager),使得各node彼此间通

Linux运维 第三阶段 (十三)nss&pam

Linux运维第三阶段(十三)nss&pam 一.nss(network service switch网络服务转换) authentication(认证,决定用户的用户名和密码是否能通过检验) authorization(授权,决定用户是否能访问某服务) audition(审计) username-->UID groupname-->GID http-->80port FQDN-->IP(hosts文件,DNS,mysql,NIS(networkinformation se

Linux运维 第三阶段 (十一)iptables

Linux运维第三阶段(十一)iptables iptables linux防火墙:netfilter(框架framework):iptables(生成防火墙规则并将其附加在netfilter上,真正实现数据报文过滤.NAT.mangle等规则生成的工具):真正起作用的是规则,规则放在netfilter上才能生效 网络防火墙的功能根据TCP/IP首部实现的 IP报文(见文末附图): fragment ID(段标识) MF(more fragment) DF(don't fragment,单个报文

Linux运维 第三阶段 (七) NFS

Linux运维 第三阶段 (七) NFS配置 1,服务器端软件:安装nfs-utils和portmap(rpcbind)nfs-utils: 提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件 portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的.通俗的说PortMap就是用来做PORT的mapping 的.NFS需要