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用户设定密码:
  1. mysql>set password
  2. mysql>update mysql.user set password=PASSWORD('password') where clausse;
  3. mysql>flush privileges;
  4. #mysqladmin ...
    • 删除所有的匿名用户
  1. mysql>drop user ''@'localhost';
  2. 同样也可以通过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):工作特性有多重定义方式
    • 命令行选项
    • 配置文件参数
  1. [root@localhost ~]# mysql --verbos --help #查看所有帮助信息
  • 获取运行中的mysql进程使用各参数及其值:
  1. MariaDB [(none)]> show variables;
          注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,切只支持修改配置文件然后重启服务才能生效
                      有些参数的作用域是全局的,切不可修改;有些可以为每个用户提供单独的设置
  • 修改服务器参数的值:
  1. MariaDB [(none)]> help set; #查看set的帮助信息
  2. 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
  • 全局变量的修改:
  1. MariaDB [(none)]> set global system_var_name = value;
  2. MariaDB [(none)]> set @@global.system_var_name=value;
  • 会话变量的修改:
  1. MariaDB [(none)]> set [session] system_var_name=value;
  2. MariaDB [(none)]> set @@[session.]system_var_name=value;
  • 状态变量(不能修改的):
  1. MariaDB [(none)]> set global status;
  2. MariaDB [(none)]> set [session] global status;



                

mysql之一的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  3. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. JavaEE的13种核心技术

    Java的大方向就是JavaEE,JavaEE不仅仅是socket编程,具体包括13中核心技术. JavaEE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于We ...

  2. IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法

    浏览器都有自己的 缓存机制,一般CSS和图片都会被缓存在本地,这样我们修改的CSS就看不到效果 了,每次都去清空缓存,再刷新看效果,这样操作太麻烦了.在IE下我们可以直接 去修改internet选项/ ...

  3. C#中配置文件的使用

    1. 向项目添加app.config文件: 右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”:如果项目以前没有配置文件,则默认的文件名称为“app ...

  4. Windows Embedded Compact 2013升级:VS2013也能编译

    IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...

  5. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  6. UVa 1152 (中途相遇法) 4 Values whose Sum is 0

    题意: 要从四个数组中各选一个数,使得这四个数之和为0,求合法的方案数. 分析: 首先枚举A+B所有可能的值,排序. 然后枚举所有-C-D的值在其中用二分法查找. #include <cstdi ...

  7. BZOJ2668: [cqoi2012]交换棋子

    题解: 可以戳这里:http://www.cnblogs.com/zig-zag/archive/2013/04/21/3033485.html 其实自己yy一下就知道这样建图的正确性了. 感觉太神奇 ...

  8. 声明顺序 (Bootstrap 编码规范)

    相关的属性声明应当归为一组,并按照下面的顺序排列: Positioning Box model Typographic Visual 由于定位(positioning)可以从正常的文档流中移除元素,并 ...

  9. Spring AOP--基于XML文件的配置

    Spring AOP的配置可以基于注解,也可以基于XML文件.前面几篇都是使用注解的方式.下面介绍下使用XML文件如何配置 使用的测试类和切面类都类似.只需要属于AOP的注解去掉即可.下面是AOP的X ...

  10. 《深入Java虚拟机学习笔记》- 第18章 finally子句

    本章主要介绍字节码实现的finally子句.包括相关指令以及这些指令的使用方式.此外,本章还介绍了Java源代码中finally子句所展示的一些令人惊讶的特性,并从字节码角度对这些特征进行了解释. 1 ...