MySQL or MariaDB 简介

  • DBMS:数据库管理系统

  • RDBMS:关系型数据库管理系统

   总之:他们都是一个数据管理程序;大多都是CS架构,都有专门的通信协议进行数据交换

  • 关系模型:

              表(行或者列):二维关系

  • 设计范式:

                第一范式、第二范式、第三范式

                关系运算:选择(选择行);投影(选择咧)

  •  数据库—–》表——》索引—》视图(虚表)

                 SQL(结构化查询语言):

                                DDL(数据定义语言)

                                DML(数据操作语言)

                                编程接口:支持判断,选择,循环。。。

                                                   可以定义存储过程;存储函数;触发器;事件调度器;过程式编程(选择,循环)

  • 数据的三层模型:

    • 物理层视图:RAID。。。

    • 逻辑层视图:设计表结构,数据的恢复,导入导出

    • 视图层:用户视图:增删改查数据

  • 关系型数据库解决方案:

    • 商业版:oracle,sybase,infomix(IBM),DB2

    • 开源版:MySQL,MariaDB,PostgreSQL,SQLite

  • 两条路线

    • mysql常见版本:5.1—–>5.5——>5.6——->5.7

    • mariadb

            总结:mysql&mariadb选用的是插件式数据存储引擎

                       mariadb的单进程多线程

                                            连接线程    

                                            守护线程

  • mysql的配置文件内容简介:

    • 采用的是集中式的配置,能够为mysql的各种应用程序提供配置信息

    • [mysqld]:用于mysqld这个应用程序配置

    • [mysqld_safe]:线程安全的mysqld程序配置

    • [mysqld_multi]:多实例的mysql程序配置

    • [server]:服务端程序

    • [mysql]:客户端程序

    • [mysqldump]:mysql的备份还原程序

    • [client]:表示上述配置对客户端都有效

  • 参数定义

            parameter = value

            skip-name-resolve:跳过域名解析

  • 查找配置文件的路径:

    • /etc/my.cnf—->/etc/mysql/my.cnf—–>$MYSQL_HOME/my.cnf—> –default-extra-file=/path/to/somedir/my.cnf—–> ~/.my.cnf        #按此顺序找。后找的会覆盖之前找到的

安装方法

  • os vendor:rpm安装

  • MySQL:

    • rpm

    • 展开可用

    • 源码编译安装

  • 安装之后的设定

    • 为所有root用户设定密码:

mysql>set password mysql>update mysql.user set password=PASSWORD('password') where clausse;mysql>flush privileges;#mysqladmin ...
  • 删除所有的匿名用户

mysql>drop user ''@'localhost';同样也可以通过mysql_sequre_installation来实现用户加密和删除
  • 关闭主机名反解功能

          **元数据库:mysql

                                user,host

  • mysql的客户端程序:

    • mysql:交互式CLI工具

    • mysqldump:备份工具;基于mysql协议向mysqld发起查询请求,,并将查到的数据转换城INSERT等写操作语句保存到文本文件中

    • mysqladmin:这是mysql的客户端专用管理工具

    • mysqlimport :数据导入工具

  • mysql的非客户端类的管理工具

    • myisamchk:myisam引擎检查工具

    • myisampack:myisam打包工具(只读),节约空间

      • 客户端类的应用程序的可用选项:

        • -u;–user=

        • -h;–host=

        • -p;–password=

        • -P;–port=

        • –protocol={tcp|sock}

        • -S;–socket=

        • -D;–database=         #默认数据库

        • -C;–compress          #压缩

      • mysql -e "SQL"       #非交互格式执行sql

  • 获取程序的默认配置:

    • mysql –print-defaults         #不详细

    • mysqld –print-defaults       #详细

  • mysql的使用模式:

    • 交互式模式

      • 可运行的命令有两类:

        • 客户端命令:\h,help

        • 服务器端命令:需要语句结束符

    • 脚本模式

      • mysql -uUSERNAME -pPASSWORD < /path/from/somefile.sql

      • mysql>source /path/from/somefile.sql

  • mysql的服务器端(mysqld):工作特性有多重定义方式

    • 命令行选项

    • 配置文件参数

[root@localhost ~]# mysql --verbos --help      #查看所有帮助信息
  • 获取运行中的mysql进程使用各参数及其值:

MariaDB [(none)]> show variables;

          注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,切只支持修改配置文件然后重启服务才能生效

                      有些参数的作用域是全局的,切不可修改;有些可以为每个用户提供单独的设置

  • 修改服务器参数的值:

MariaDB [(none)]> help set;      #查看set的帮助信息Name: 'SET'
Description:
Syntax:
SET variable_assignment [, variable_assignment] ...

variable_assignment:
      user_var_name = expr
    | [GLOBAL | SESSION] system_var_name = expr
    | [@@global. | @@session. | @@]system_var_name = expr
  • 全局变量的修改:

MariaDB [(none)]> set global system_var_name = value;MariaDB [(none)]> set @@global.system_var_name=value;
  • 会话变量的修改:

MariaDB [(none)]> set [session] system_var_name=value;MariaDB [(none)]> set @@[session.]system_var_name=value;
  • 状态变量(不能修改的):

MariaDB [(none)]> set global status;MariaDB [(none)]> set [session] global status;

原创文章,作者:wanghui,如若转载,请注明出处:http://www.178linux.com/66454

(0)
wanghuiwanghui
上一篇 2017-01-11 19:32
下一篇 2017-01-12 17:34

相关推荐

  • http协议

    ##socket套接字– 套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换。– socketAPI:封装了内核中所提供的socket通信相关的系统调用– socketDomain:根据其所使用的地址– AF_INET:Address Family,Ipv4&#8…

    Linux干货 2017-12-06
  • LVS负载均衡初接触

    Linux Cluster : Cluster : 计算机集合, 为解决某个特定问题组合起来形成的单个系统; Linux Cluster 类型 : LB : Load Balancing, 负载均衡;()HA : High Avaiibality, 高可用;( 通过冗余的方式让活动主机出现问题时取而代之, 并具有原主机一致的功能)HP : High Perf…

    Linux干货 2016-10-28
  • 网络理论基础

    一、网络概述   1、什么是网络     网络就是通过有线或无线技术将各种硬件设备连接起来进行数据传输的一种方式。   2、网络的分类     根据距离范围可以将网络划分为局域网和广域网。       局域网:传输距离较近,传输速率快。     &n…

    Linux干货 2016-01-11
  • 马哥教育网络班21期+第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/sk…

    Linux干货 2016-07-07
  • 包管理工具rpm和yum的用法

    包管理工具rpm和yum的用法 一、rpm的用法 rpm原本是Rde Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐收到其他发行版的采用,RPM套件管理方式的出现,让Linux易于安装、升级,间接提升了Linux的适用性。 rpm用法:rpm [OPTION…] 1、rpm安装…

    Linux干货 2016-08-24
  • 马哥教育网络班第19期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-22

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:48

    看样子整理的只是笔记,希望有自己的理解过程和实验步骤。