特性、二进制安装方法、安装生成的程序、MariaDB程序的组成、SQL接口、关系型数据库的组件、管理数据库组件、数据类型、修饰

MariaDB,开源RDBMS的实现

特性、

安装MariaDB方法、

    CentOS 6: 通用二进制格式安装MariaDB        1、获取源码            官方站点:www.mariadb.org        2、安装MariDB            1)添加用户            2)准备数据库            3)展开及配置        3、测试启动服务并登陆MariaDB        4、安全初始化        5、通用配置    1、获取源码        2、安装MariaDB        1) 添加用户:             # groupadd -r -g 306 mysql            # useradd -r -g 306 -u 306 mysql        2) 准备数据库:            # btrfs            # lvm2 快照,数据库备份            # fdisk -l /dev/[sh]d[a-z] //查看所有磁盘            # fdisk /dev/sda            //管理指定磁盘            # partx -a /dev/sda            # partx -a /dev/sda            # pvcreate /dev/sda3            # vgcreate vg0 /dev/sda3            # lvcreate -L 10G -n mylv vg0            # 查看可被格式的文件系统类型                # cat /proc/filesystems                    **没有xfs,xfs比ext文件易扩展,易用            # 查看模块                # lsmod            # 安装使用xfs文件系统                # yum search xfs     //xfsprogs.i686 : Utilities for managing the XFS filesystem                    文件系统组成: 模块、用户空间的管理工具、POSIX                # yum -y install xfsprogs            # 安装后查看内核中的模块                # rpm -ql xfsprogs //只提供程序,并未提供模块                # modinfo xfs      //没有此模块                # modprobe xfs     //如果有则可以安装            # mke2fs -t ext4 /dev/vg0/mylv             # vim /etc/fstab                /dev/vg0/mylv  /mydata/data   ext4    defaults    1 2            # mkdir -p /mydata/data            # chown mysql.mysql /mydata/data            # mount -a        3) 展开及配置:            展开:                # tar xf mariadb-5.5.57-linux-i686.tar.gz -C /usr/local/                # cd /usr/local/                # ls  //查看文件                # ln -sv mariadb-5.5.57-linux-i686 mysql                # ll  //查看链接                # cd mysql                 # ll    //查看权限                # chown -R mysql.mysql ./*                # ll    //确认            元数据生成:                # scripts/mysql_install_db --help                        --user=user_name                     --basedir=path    //指明mariadb的安装目录                    --datadir=path    //MariaDB的数据库的目录                    --defaults-extra-file=name   //配置文件                # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/mydata/data/                 # ls /mydata/data  //查看文件是否生成            准备配置文件:                配置文件读取路径: /etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file --> ~/.my.cnf                # mkdir /etc/mysql                # ls support-files/  //查看提供的文件                    1) my*.cnf       //均为配置 large(512M内存), meduim(256M), small(64M) 内存4G innodb-heavy-4G.cnf                    2) mysql.server //提供的服务脚本                # cp support-files/my-large.cnf /etc/mysql/my.cnf                    修改配置文件: 配置文件类ini格式, 相同配置段出现多次时,最后一个配置段为最终生效段.                [client]                #password       = your_password                port            = 3306                socket          = /tmp/mysql.sock  //客户端通过/tmp/mysql.sock与服务端通信                [mysqld]                port            = 3306             //服务端监听的端口                socket          = /tmp/mysql.sock  //服务端监听在unix socket                # Try number of CPU's*2 for thread_concurrency   线程数为CPU核心数的2倍                thread_concurrency = 4                --------                datadir = /mydata/data             //数据库的目录                innodb_file_per_table = on         //innodb的特性,每个文件当作一个表                skip_name_resolve = on             //跳过IP-->反解为主机名.授权只基于IP即可,加速            准备服务脚本                # ls support-files/                //查看服务脚本的位置及权限                # cp support-files/mysql.server /etc/rc.d/init.d/mysqld                # chkconfig --add mysqld                # chkconfig --list mysqld        4)测试启动服务            # ss -tnl //查看3306端口是否被占用            # service mysqld start            /usr/local/mysql/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mysqld.log' (Errcode: 13)            # touch /var/log/mysqld.log            # chown root.mysql /var/log/mysqld.log            # chmod 660 /var/log/mysqld.log            # /usr/local/mysql/bin/mysql            MariaDB [(none)]>         5)    安全初始化                MariaDB [(none)]> SELECT User,Host,Password FROM mysql.user;                +------+-----------------------+----------+                | User | Host                  | Password |                +------+-----------------------+----------+                | root | localhost             |          |                | root | localhost.localdomain |          |                | root | 127.0.0.1             |          |                | root | ::1                   |          |                |      | localhost             |          |                |      | localhost.localdomain |          |                +------+-----------------------+----------+                6 rows in set (0.00 sec)                注意:在本地主机上root,及一个匿名用户没有对应的密码                # /usr/local/mysql/bin/mysql_secure_installation                 #  /usr/local/mysql/bin/mysql -uroot -hlocalhost -pmagedu                MariaDB [(none)]>         6)通用配置            查看安装目录            # ls /usr/local/mysql            bin      data               include         lib  mysql-test  scripts  sql-bench            COPYING  EXCEPTIONS-CLIENT  INSTALL-BINARY  man  README      share    support-files            1、导出PATH变量                # vim /etc/profile.d/mysql.sh                    export PATH=/usr/local/mysql/bin:$PATH                # . /etc/profile.d/mysql.sh            2、导出库文件                # vim /etc/ld.so.conf.d/mysql.conf                /usr/local/mysql/lib                # ldconfig [-v]            3、导出头文件                # ln -sv /usr/local/mysql/include /usr/include/mysql            4、导出man手册                # vim /etc/man.config                MANPATH /usr/local/mysql/man

MariaDB程序组成

        # ls /usr/local/mysql/bin                1、服务端程序            mysqld_safe[ps命令即可查询:"线程安全的mysql"]             mysqld_multi["多个mysql,使用不同的端口"]         mysql协议:数据存储协议:C/S架构            实现: mysqld            进程间的通信:                同主机通信:unix socket、message queue(signal)、share memory、semphor(旗语)                跨主机:socket、rpc        mysqld同主机:基于unix socket通信            服务器监听在: server地址: localhost, 127.0.0.1                二进制安装:/tmp/mysql.sock                rpm安装: /var/lib/mysql/mysql.sock        2、客户端程序            mysql           CLI、GUI(phpMyadmin)            mysqladmin             mysqlbinlog        二进制日志管理            mysqldump        客户端程序: mysql使用            mysql [-uUSERNAME] [-hHOST] [-pPASSWORD]                 注意:                    1、mysql用户名: 'USERNAME'@'HOST'                        HOST:支持通配符:                            % 任意长度任意字符                            _ 任意单个字符                            例如: 172.16.0.0/16网络用通配符表示                                172.16.%                                172.16.0.%                                172.16.%.%                    2、不给-u: 默认用户名为root                       不给-h: 默认HOST为localhost或127.0.0.1                       不给-p: 默认PASSWORD为空

SQL接口

    SQL接口: 与mysqld相互        MariaDB [(none)]>         客户端命令:本地执行            命令名 简写格式            help      (\?) //获取帮助            clear     (\c) //清空输入的内容            ego       (\G) 垂直显示结果            quit      (\q) //退出mysql,            status    (\s) //查看服务器的状态信息            system    (\!) //执行shell命令            use       (\u) use DB, 设定默认数据库        服务端命令:在服务器端执行并取回,命令有结束符";"            > SELECT VERSION();                调用函数并执行            > SELECT 1+1;            > SELECT 0.99^365            > SELECT 1.0^365

关系型数据库的组件、

管理关系型数据库的基本组件

注意:写的格式统一,因为mysql缓存是根据MD5值存储缓存。如果两次输入的字母大小写不同时,其MD5值不同。

获取命令帮助:

数据库管理

表管理

数据类型、

数据类型: datatype    字符:        定长字符:            不区分大小写 char(#) 用或不用,给1个占10个            区分大小写        变长字符:             不区分大小写 varchar(#) 有结束符,占用一个, 给1个,占2个            区分大小写        对象存储:大文本存储            TEXT 不区分             BLOB  区分        内置:            ENUM   枚举            SET    集合    数值:            精确:整型[int]、十进制[decimal]            int                tinyint   1byte                smallint  2bytes                mediumint 3bytes                int       4bytes                bigint       8bytes  范围: 0 - 2^64-1        近似: 单精度浮点[float]、双精度浮点[double]        修饰NOT NULL NULL