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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

特性、二进制安装方法、安装生成的程序、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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
66 1
|
1月前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
74 0
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
89 3
|
2月前
|
存储 关系型数据库 MySQL
Maria DB Workbench支持哪些数据库引擎
【10月更文挑战第17天】Maria DB Workbench支持哪些数据库引擎
36 0
|
2月前
|
Oracle 关系型数据库 MySQL
CentOS7安装MariaDB成功的实践
CentOS7安装MariaDB成功的实践
71 0
|
3月前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
58 0
|
NoSQL 关系型数据库 MySQL
阿里云RDS关系型数据库大全_MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等
阿里云RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB
340 0
|
4月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
253 8
|
5月前
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
303 19
|
4月前
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
644 0