MariaDB数据库服务器

这篇具有很好参考价值的文章主要介绍了MariaDB数据库服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、什么是数据库?

二、什么是关系型数据库?

三、数据库字符集和排序规则是什么?

四、常用数据类型

五、Mariadb数据库相关配置案例


一、什么是数据库?

数据库(DB)是以一定方式长期存储在计算机硬盘内,能与多个用户共享,具有尽可能小的冗余度、与应用程序彼此独立的数据的集合。简单来说可以将其看做是用来存储信息文件的文件柜,用户可以将自己的信息文件存储到柜子中,并可以对柜中的信息文件进行增、删、改、查等操作。

二、什么是关系型数据库?

所谓关系型数据库,指的是用户的数据信息是以二维表格的形式来表现的。在二维表格中每一行代表一条记录,用来描述对象的信息;每一列称为一个字段,用来描述对象的某个属性。主流的关系型数据库管理系统软件有Oracle、SQL Server、MySql、Access等。

三、数据库字符集和排序规则是什么?

MariaDB(mysql)数据库在存储用户数据信息时,默认使用的字符集为Iatinl。当用户存储的数据信息是中文字符时,有可能因为此字符集不支持中文字符没有相对应的编码号,导致用户存的中文字符以错误数值存放到数据库中。当用户通过网站查找数据库中的用户数据时,此时由于其使用的字符集没有中文字符对应的编码号,就会以错误的字符形式展现出来,导致用户查询到的数据是一堆乱码。为解决乱码问题可以修改数据库服务器使用的默认字符集为UTF-8。每个字符集都对应的有不同字符之前大小的比较的排序规则。utf8mb4_unicode_ci 是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,不区分大小写。utf8mb4_general_ci 没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致,不区分大小写。

字符集的设定不仅影响着存储,还会影响客户端和数据库服务器的通信,关于数据编码,mqsql中涉及到下面几个问题:

1、客户端发过来的数据使用什么字符集编码的?

答:character_set_client ,这是用户告诉服务器,客户端发过来的SQL语句是用的什么字符集,要和客户端发出去的字节流采用的编码集一致,如果是shell,那么就是和shell的编码集一致,中文windows的cmd就是gbk。但是对于使用_utf8'xxx'标记的字符,则用标记的字符集解码。

2、接收到数据之后,应该用什么编码格式编码之后再将数据插入到mysql server中?

答:character_set_connection ,MySQL server 接收到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集,一般就是所操作的表对应的编码集。

3、执行查询之后,查询出来的结果应该用什么编码集编码之后再返回?

答:character_set_results , MySQL将存储的数据转换成character_set_results中设定的字符集发送给用户,客户端获取到的结果就是以这种形式编码的。

4、数据库的各种表的数据,应该用什么字符集编码,以及它们用什么排序?

答:character_set_server决定了服务器的默认编码,character_set_database决定了新建数据库的默认字符集,而数据库的字符集又决定了新建表的默认字符集,而表的字符集又决定了字段的默认字符集,如果没有通过DEFAULT CHARACTER SET=xxx来改变表的字符集,则新表就使用character_set_database指定的字符集。

5.查询语句的字符串比较时,应该在哪一个标准里面来比较,比如:'Mueller' = 'Müller'是为真还是假?

答:collation_connection变量制定了比较的规则。collation_connection的值得形式如下:字符集_语言_ci(大小不写敏感) 或字符集_语言_cs(大小写敏感),像中文这样的,没有大小写,所以只能是ci,比如set collatioin_connection=gbk_chinese_ci。就是设置成中文字典的排序规则。除了按具体语言排序,还可以按照二进制的位置排序,比如utf8_bin。

 

character_set_connection和collatioin_connection是一体的,设置了character_set_connection之后,collation_connection会跟着变成对应的默认排序规则,反之亦然。如果要显示的设置排序规则,可以用 SET NAMES 'charset_name' COLLATE 'collation_name' 。

6.数据库的各种元数据,包括表名、数据库名、密码、用户名、以及comment等,用什么字符集表示?

答:character_set_system表示元数据的字符集,默认就是utf8,而且不要去更改它,否则,因为类似于用户名密码这种东西,可能用各种奇葩的字符去表示,只有utf8能够容纳它们。如果变成了别的字符集,那么用户名和密码就不能用你想要的字符去表示了。

四、常用数据类型

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

*char和varchar的区别:

1.定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。

2.char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。

3.char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。

五、Mariadb数据库相关配置案例

Server端:

1、安装Mariadb相关软件包

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

2、开启mariadb数据库服务,并设置开机自启

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

3、Mariadb服务安装后默认采用无密码登录数据库,为了安全性可以执行mysql_secure_installation 命令来进行安全设置。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

4、登到mariadb,查看mariadb服务器默认设置的字符集与其排列规则。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

5、修改Mariadb使用的默认字符集和排列规则,改为utf8字符集(此字符集支持中文),避免用户在查询数据时遇到中文出现乱码。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

5、为Mariadb数据库管理系统创建一个专用的数据库管理账户,并分配合理的权限。以满足工作者的需求。

创建用户:

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

*此处只需创建个shanyue用户账户就行了,其它的操作只是为了学习。

授权:

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

6、防火墙Mariadb服务端口放行流量,允许远程客户登录到数据库。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

7、切换到客户端用root用户使用"root"密码远程登录Mariadb服务器,看是否成功。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

8、新建test数据库并创建表单mybook,然后进行表单的初始化即定义表单存储数据内容的结构字段。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

增:

9、给mybook表单添加三个数据记录。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

删:

10、删除test数据库下mybook表单中带有Linux字段的记录。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

改:

11、将mybook表单中所有书籍的页数都改为180页,并将HCIP书籍的价格降到110元。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

查:

12、查询mybook表单中价格小于200的所有书籍和大于200的书籍。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

13、备份test数据库将其下的所有内容导出为一个文件保存到root家目录下。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

14、登录到数据库管理系统将test数据库给删除,然后通过test数据库的备份文件恢复数据库内容。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

15、登录到Mariadb数据库管理系统,查看test数据库的内容是否恢复成功。

MariaDB数据库服务器,Linux系统运维,数据库,mariadb,服务器,运维,网络协议,linux,centos

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!文章来源地址https://www.toymoban.com/news/detail-685325.html

到了这里,关于MariaDB数据库服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL数据库】--- 初始数据库以及MySQL数据库在Linux云服务器下载(详细教程)

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 MYSQL数据库 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自

    2023年04月24日
    浏览(72)
  • 【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库

    🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 没有找到合适的参考链接,在gpt的协作下一步完成了这份指南。欢迎交流 ~ 在Python项目中,如果你的目标是通过JDBC连接到位于Linux远程服务器上

    2024年04月28日
    浏览(68)
  • 在阿里云Linux服务器上部署MySQL数据库流程

    阿里云百科分享在阿里云Linux服务器上部署MySQL数据库流程,MySQL是一个关系型数据库管理系统,常用于LAMP和LNMP等网站场景中。本教程介绍如何在Linux系统ECS实例上安装、配置以及远程访问MySQL数据库。 目录 背景信息 Alibaba Cloud Linux 2/3、CentOS 7.x 步骤一:安装MySQL 步骤二:配置

    2024年02月13日
    浏览(59)
  • 必看>>>>Linux数据库被其他服务器远程访问(修改权限、开设端口)

    目录 一:修改权限 1.1 进入Linux数据库 1.2 修改数据库的远程连接权限 1.2.1 数据库远程权限修改命令 1.2.2 数据库远程权限查看命名 1.3 给Linux机添加端口 1.4 远程数据库连接 文章中的四:Linux中mysql数据库的安装 1.2.1 数据库远程权限修改命令 grant all privileges on *.* to \\\'root\\\'@\\\'%\\\'id

    2023年04月17日
    浏览(116)
  • Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接

    目录 前言 1. 配置Mongodb源 2. 安装MongoDB 3. 局域网连接测试 4. 安装cpolar内网穿透 5. 配置公网访问地址 6. 公网远程连接 7. 固定连接公网地址 8. 使用固定地址连接 转载自Cpolar Lisa文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」 MongoDB是一个介于关系数据库

    2024年02月02日
    浏览(46)
  • 重启Linux服务器 Oracle 数据库步骤 重启数据库startup 报ORA-01031 insufficient privileges错误解决

    在一次重启数据库的时候,没有正确按照步骤重启数据库,导致服务器重启。 正确步骤及详解: (1) su - oracle 打开Xshell,连接到数据库所在的linux机器。若用户为root,请输入命令“su - oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。 检测方法:“#”变

    2024年02月15日
    浏览(67)
  • Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

    目录  一、Apache服务器监控 为什么要用到服务监控? 实现Apache服务器监控 二、数据库备份 为什么要用到数据库备份? 实现数据库备份 三、Shell脚本发送邮件 为什么要用使用Shell脚本发送邮件? 实现Shell脚本发送邮件 在Linux中监控Apache服务器是非常重要的,原因如下: 保证

    2024年04月15日
    浏览(74)
  • linux 17day 堡垒机 堡垒机下载 堡垒机安装 堡垒机使用 堡垒机管理服务器 堡垒机管理数据库

    https://jumpserver.org/ 没有注册的需要注册一个账号 即可下载 配置站点url 配置邮箱 创建要管理的服务器 现在还不能 管理 因为还没有配置用户名和密码 创建 特权用户用于管理 创建普通用户 添加命令过滤 命令过滤创建好 之后就需要 给用户名 和管理添加 管理用户也是一样的

    2024年02月20日
    浏览(46)
  • vm安装,虚拟环境搭建win+linux+mac,及本机连接虚拟环境数据库、windows服务器搭建、内网穿透

    教程中的软件、镜像、工具可去阿里云盘提取: 阿里云盘:https://www.aliyundrive.com/s/CLdTjFtnYbr 提取码:s1a8 一、安装虚拟机 下载链接:https://www.vmware.com/products/workstation-pro.html 下载的过程中可能需要注册登录 下载vm 后双击安装即可 vm安装成功后,需要激活 二、安装windows虚拟机

    2024年02月08日
    浏览(77)
  • redis数据库缓存服务器

    redis比mysql访问数据快 非关系型数据库以键值对的方式存储数据 作用:加快访问速度,缓解数据库压力 redis最新版本7 特点 丰富的数据结构 list,set,hash等数据结构的存储 支持持久化 支持事务 “一个完整的动作,要么全部执行,要么什么也没有做” 支持主从支持高可用,支持

    2024年02月05日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包