问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一个关系型数据库管理系统程序所应具备的3种基本关系

发布网友 发布时间:2022-05-02 07:54

我来回答

3个回答

懂视网 时间:2022-05-02 12:16

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


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

热心网友 时间:2022-05-02 09:24

选择、投影和连接。三种基本的关系代数运算。

热心网友 时间:2022-05-02 10:42

插入、删除与修改
希望我的回答对你有帮助,如果有疑问,请继续“追问”
答题不易,互相理解,您的采纳是我前进的动力。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
湖北哪些学校有专升本 湖北哪些学校可以报专升本 华为mate7会不会卡 中央集权的本质 秦朝中央集权的实质是什么 秦朝建立专制主义中央集权制度的本质特征是 A改王为皇帝 B建立中央官制... 想生个女儿怎么备孕 怎样备孕生女孩7个方法 备孕怎样做才能生女孩 天津市国税局公务员面试成绩去哪儿查? 我们常用的鸡精里,真的含有鸡肉吗? 鸡精的配料是? 红糖水怎么熬 大众迈腾330定速巡航怎样设置加减1,5,10? 新迈腾多功能方向盘怎么没有了接听键了 迈腾AUTO HOLD功能 大众迈腾多功能方向盘五星键什么意思? 2013款新迈腾在换挡杆右边上有一个方向盘旁边连一个p的按钮是干嘛的 新迈腾方向盘左侧多出一个类似大灯的设置杆,那是干什么的啊?上下左右都能移动 迈腾方向盘可以带加热功能吗?? 大众迈腾方向盘配置怎么描述 迈腾20t多功能方向盘使用方法 请问家里的有线电视坏了应该打那个电话,我家是上海闵行的。请知情人回答,谢谢。 迈腾方向盘怎么学习设置 迈腾多功能方向盘 迈腾多功能方向盘怎么使用 有线电视坏了打哪一个电话可以维修 迈腾多功能方向盘都有哪些功能呀? 5G手机对老年人有用吗? 给父母有必要买5g手机吗 qq重新登录后怎么恢复好友 常见的轻质隔墙隔板材有哪些种类 轻质隔墙板有哪些种类 室外轻质隔墙板有哪些种类 轻质隔墙板怎么分类? 钢骨架轻型板的用什么材料做的? 为什么我的电脑下不了东西 我的电脑为什么会不能下载东西? 我的电脑下不 了东西了怎么办? 为什么我的电脑下载不了东西了 为什么我的电脑下载不了东西 如何删除微信上的好友? 一个关系型数据库管理系统所具备的3种基本关系操作是 怎么当朴炯植老婆啊? 娱乐是个圈,朱军竟是谭晶姐夫,娱乐圈中有哪些不为人知的关系? 韩国电影 剧情是妻子突然失踪,丈夫寻找 安敏赫是谁演的,安敏赫扮演者,大力女子都奉顺 朴炯植的演技很好,为什么一直没有大火? 各位朴炯植在韩国人气如何?拿国内明星类比的话是谁呢? 安敏赫是谁演的,安敏赫扮演者,大力女子都奉顺安敏赫