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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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


MariaDB,开源RDBMS的实现


特性、

wKiom1nPW13RHhNcAABdUlrZ-Qc574.png


安装MariaDB方法、

wKioL1nPWz2CO5UqAAAIle96XtA180.png

    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


关系型数据库的组件、

wKiom1nPkobz1XppAABkhiXZ0bY192.png



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

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


获取命令帮助:

wKiom1nPtTCyBkjAAAAL9iddHa8629.png


数据库管理

wKiom1nPt3qRQsn_AABG9d-6hi4801.png


表管理

wKioL1nPuZ-Ca40nAABppPrna6Q416.png


数据类型、


数据类型: 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









本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1970069,如需转载请自行联系原作者
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
3小时前
|
算法 数据库 Docker
大模型必备向量数据库-Milvus的安装过程
大模型必备向量数据库-Milvus的安装过程
4 0
|
3小时前
|
SQL Oracle 关系型数据库
实验一 安装和使用Oracle数据库
实验一 安装和使用Oracle数据库
8 1
|
3小时前
|
数据库 数据库管理 关系型数据库
|
3小时前
|
负载均衡 关系型数据库 MySQL
关系型数据库的安装和配置数据库节点
【5月更文挑战第5天】关系型数据库的安装和配置数据库节点
95 3
关系型数据库的安装和配置数据库节点
|
3小时前
|
安全 测试技术 数据库
达梦数据库Windows安装教程:从准备到完成
达梦数据库Windows安装教程:从准备到完成
|
3小时前
|
SQL 数据库 Windows
sql数据库安装过程,SQL数据库的安装过
本文概述了安装SQL Server数据库的步骤:准备硬件和软件环境,运行安装程序,选择安装类型,接受许可协议,设定安装路径和组件,配置实例和服务账户,选择身份验证模式,配置其他设置,然后安装并完成。安装后需检查验证SQL Server是否正常工作。确保遵循步骤以顺利完成安装。
44 3
|
3小时前
|
弹性计算 NoSQL Shell
一键安装 MongoDB 数据库脚本
【4月更文挑战第29天】
18 4
|
3小时前
|
Ubuntu 关系型数据库 数据库
|
3小时前
|
关系型数据库 MySQL Linux
Centos7安装mariadb数据库
该文介绍了如何在CentOS7上安装MariaDB数据库。MariaDB是MySQL的开源分支,旨在保持与MySQL的兼容性。安装过程包括配置yum源,执行安装命令,启动数据库服务,并设置开机启动。首次启动时,数据库未设置密码,用户可直接回车。
64 0
|
3小时前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
67 10