mariadb(mysql)基础(1)

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

    S/C:经过专有协议
sql

    关系模型:表(行,列),二维关系
数据库


    范式:第一范式、第二范式、第三范式:
编程

    关系运算:
服务器

       选择
多线程

       投影
socket

    

    数据库:表,索引,视图(虚表)
ide

       SQL: Structure Query Language
函数

          DDL,DML
工具

           编程接口:

           存储过程

           存储函数

           触发器:

           事件调度器

           过程式编程:选择\循环

    三层模型:

       物理层:

       逻辑层:

       视图层:


    解决方案:

       Oracle,sybase,Infomix,DB2

       MySQL,MariaDB,PostgreSQL,SQLite

    

    MySQL-->5.1-->5.5-->5.6-->5.7-->5.8

    MriaDB 

      插件式存储引擎

         MySQL:查看存储引擎命令:show engines;

      单进程多线程:

        链接线程

        守护线程


    配置文件:集中式的配置,可以为mysql的各应用程序提供配置信息

        [mysqld]   

        [mysqld_safe]

        [mysqld_multi]

        [server]

        [mysql]

        [mysqldump]

        [client]


            parameter - value

            skip-name-resolve

            skip_name_resolve

        查找路径:/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf


    安装方法:

        os vendor:rpm 

        MySQL:

           rpm

           展开可用

           源码安装


    安装后的设定:

        (1)为ROOT用户设定密码:

        mysql> SET PASSWORD

        mysql> update mysql.user SET password-PASSWORD('密码‘) WHERE

 CLUASE;

        (2)删除全部匿名用户

        myslq> DROP USER ''@'LOCALHOST';

        

        上述两步骤可运行命令:mysql_secure_installation


        (3)建议闭主机名反解功能


    元数据数据库:mysql

        user,host等;

    mysql --> mysqld

        客户端程序

            mysql:交互式的CLI工具:

            mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,病将查询的全部数据转换成insert等写操做语句保存文本文件中;

            myslqadmin:居于mysql协议管理mysqld;

            mysqlimpor:;数据局导入工具;

        非客户端工具:

            myisamchk,myisampack

        如何获取程序默认配置:

            mysql --print-defaults

            mysqld --print-defaults

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

            -u,--user=

            -h,--host=

            -p, --password=

            -P, --port=

            --protocol=

            -S, --socket=

            -D, --database=

            -c,--compress

            

            mysql -e 'SQL语句'


        msyql的使用模式:

            交互式模式:

                可运行命令有两类:

                    客户端命令:

                        \h,help

                    服务器端命令:

                        SQL,须要语句结束符;

            脚本模式:

              #myusql -uUSERNAME -hHOST -pPASSWOERD < /PATH/FROM/SOMEFILE.SQL

              mysql> source /path/from/somefile.sql


        服务器端(mysqld):工具特性有多种意义方式

            命令行选项

            配置文件参数

                获取可用参数列表:    

                    mysqld --hepl -- verbose

            获取运行中的mysql进程使用各服务器参数及其值:

                mysql> SHOW GLOBAL VARIABLES;

                mysql> SHOW SESSION VARIABLES;

                注意:其中有些参数支持运行时修改,会当即生效,有些参数不支持,且之恩那个经过修改配置文件,并重启服务才能生效。

                    有些参数做用域是全局的,且不可修改,有些能够为每一个用户提供单独设置;

            

            修改服务器变量值:

                mysql> help SET;

                全局:

                   mysql> SET GLOBAL system_var_name=value;

                   mysql> SET @@global.system_var_name=value;

                会话:

                    mysql> SET GLOBAL system_var_name=value;

                   mysql> SET @@global.system_var_name=value;

            状态变量:用于保存mysqld运行中的统计数据的变量;

                mysql>SHOW GLOBAL STATUS;

                mysql>SHOW [SESSION] STATUS;