当前位置:Gxlcms > 数据库问题 > 谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件

谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件

时间:2021-07-01 10:21:17 帮助过:23人阅读

、管理数据库组件、数据类型、修饰


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





本文出自 “Reading” 博客,请务必保留此出处http://sonlich.blog.51cto.com/12825953/1970069

谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件

标签:struggle strive endeavo

人气教程排行