数据库
文章平均质量分 57
数据库是核心,介绍各种数据库已相关应用技术
白-胖-子
展开
-
MySQL表更改ALTER,CHANGE,MODIFY的区别
太长不看,这三个命令主要是对表的属性进行修改,就像对excel中一个Sheet进行标签重命名,首行列名更改,列内单元格格式修改,列位置调换等这些非数据的表格属性新修改ALTER 修改命令总入口,不光可以修改表,还可以修改数据库、用户、环境变量等等CHANGE 主要用来给COLUMN也就是列名来重命名用的MODIFY 改变数据类型,移动位置之类修改列属性,除了重命名MySQL表增删改查表是关系型数据库的最大特征数据都以关系的方式存放在表中创建表CREATE TABLE [IF NO.原创 2021-08-05 22:18:13 · 3372 阅读 · 0 评论 -
MySQL存储引擎简介
MySQL存储引擎MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力,此种技术称为存储擎,存储引擎负责把具体分析的结果完成对磁盘上文件路径访问的转换,数据库中的行数据都是存储在磁盘块上的,因此存储引擎要把数据库数据映射为磁盘块,并把磁盘块加载至内存中存储引擎工作原理文件系统按块存储数据,关系型数据库按行存储数据,存储引擎将数据在文件系统、内存间进行转换以进行读取、写入的操作进程实现原创 2021-08-05 21:23:52 · 159 阅读 · 0 评论 -
MySQL默认数据库information_schema,mysql,performance_schema内容
MySQL装好后自带三个数据库这几个是数据库的核心,绝对不能删,除非要跑路MariaDB [(none)]> show databases;--------------show databases--------------+--------------------+| Database |+--------------------+| information_schema || mysql || performance_sch原创 2021-08-05 13:51:12 · 1108 阅读 · 0 评论 -
SQL语句结构分类简述
SQL语句分类SQL-结构化查询语言-通常分为6类数据查询语言 DQL:Data Query Language查询数据,用的最多SELECT数据操作语言 DML:DAta ManipulationLanguage对数据增删改INSERT 插入 增DELETE 删除 删UPDATE 更新 改事务处理语言 TPL:事务类似于脚本,由多条sql语句组成BEGIN;TRANSACTION;COMMIT;ROLLBACK;……数据控制语言 DCL授权或者回收授权GRANT;REVOKE原创 2021-08-05 13:16:31 · 688 阅读 · 0 评论 -
简述MySQL主从复制的原理【面试必看】
MySQL 主从复制主节点和从节点同步数据,每个节点保持数据一致MySQL 主从复制的作用实现负载均衡读写分离实现数据库备份实现数据库高可用和故障切换MySQL 主从复制原理和过程MySQL主从复制依赖二进制日志实现主节点更新数据主节点将更新操作写入二进制日志主节点为每个Slave的I/O Thread启动一个dump线程,用于向其发送binary log events从节点通过向I/O Thread向Master请求二进制日志事件,从节点将请求到的二进制日志时间保存于原创 2021-07-28 20:56:44 · 925 阅读 · 0 评论 -
Redis实现单机多实例cluster集群
#!/bin/bashrdsdir=/apps/redissysdir=/lib/systemd/systemfor i in {1..6};do cp -a $rdsdir/etc/redis.conf $rdsdir/etc/redis_638$i.conf cp -a $sysdir/redis.service $sysdir/redis_638$i.service sed -ri.bak -e "/dbfilename .*/c dbfilename dump6379.原创 2021-07-02 15:42:03 · 232 阅读 · 0 评论 -
Redis常用配置详解
Redis默认配置内容[root@c7-199 ~]# cat /apps/redis/etc/redis.conf | grep -Ev '^#|^$'bind 0.0.0.0 #监听地址,可以用空格隔开后多个监听IPprotected-mode yes #redis3.2之后加入的新特性,在没有设置bind IP和密码的时候,redis只允许访问127.0.0.1:6379,可以远程连接,但当访问将提示警告信息并拒绝远程访问port 6379 #监听端口,默认6379/tcptcp-back原创 2021-07-01 23:15:26 · 588 阅读 · 2 评论 -
Linux实现脚本写入数据到 Redis
Shell 脚本写入数据到Redis#!/bin/bashNUM=100PASS=123456for i in `seq $NUM`;do redis-cli -h 127.0.0.1 -a "$PASS" --no-auth-warning set key${i} value${i} echo "key${i} value${i} 写入完成"doneecho "$NUM个key写入到Redis完成"Python3 脚本写入数据到Redis使用redis-py 连接 r原创 2021-07-01 18:30:57 · 986 阅读 · 0 评论 -
Linux编译安装最新半Redis
RedisRedis is an open source (BSD licensed), in-memory data structure store,used as a database.非关系型键值对数据库官网: www.redis.ioRedis 特性速度快: 10W QPS,基于内存,C语言实现单线程(Redis 6以前早期版本)持久化支持多种数据结构支持多种编程语言功能丰富: 支持Lua脚本,发布订阅,事务,pipeline等功能简单: 代码短小精悍(单机核心代码只有2原创 2021-07-01 18:12:42 · 75 阅读 · 0 评论 -
Redis 和 Memcached简单比较
Redis和Memcached两者均基于 C 语言开发均属于非关系型键值对数据库均为轻量级数据库应用均可应用于Cache缓存和Session持久化Redis比较Memcached的优势:支持数据的持久化:可以将内存中的数据保持在磁盘中,重启redis服务或者服务器之后可以从备份文件中恢复数据到内存继续使用支持更多的数据类型:支持string(字符串)、hash(哈希数据)、list(列表)、set(集合)、zset(有序集合)支持数据的备份:可以实现类似于数据的mas原创 2021-07-01 16:58:47 · 196 阅读 · 0 评论 -
Database 数据库 和 Data Structure 数据结构的区别与联系
Database 数据库数据库,顾名思义,就是存放数据的仓库数据库是“按照数据结构来组织、存储和管理数据的仓库”。DBMS 数据库管理系统通常我们口头上所讲的数据库是指数据库软件,专业的名词叫做DBMS即Database Management System 数据库管理系统常见数据库管理系统软件DB2RedisOracleMySQLMariaDBMongoDBPostgreSQLMicrosoft SQL ServerData Structure 数据结构数据结构是原创 2021-07-01 16:41:13 · 1837 阅读 · 0 评论 -
Linux实现基于MySQL存储用户的vsFTP服务
基于数据库存放ftp虚拟账户使用文本比较low使用mysql备份和管理更方便使用8.0没有加密函数,不能加密基于pam模块连接数据库实现pam_mysql模块系统默认没有cnetOS8上不支持数据库CHAR默认不支持区别大小写需要加binary环境准备vsftp CentOS7 10.0.0.183mysql(8.0以下) 或者mariadb 10.0.0.199安装并部署数据库安装数据库并设为开机启动yum -y install mariadb-server.x86_64原创 2021-06-02 23:56:59 · 223 阅读 · 0 评论 -
CentOS8利用xtrabackup8.0 完全备份和还原MySQL8.0
使用percona-xtrabackup备份和还原数据库xtrabackup工具备份和还原需要三步实现备份:对数据库做完全或增量备份预准备: 还原前,先对备份的数据,整理至一个临时目录还原:将整理好的数据,复制回数据库目录中还原注意事项:datadir 目录必须为空。除非指定innobackupex --force-non-empty-directorires选项指定,否则–copy-back选项不会覆盖在restore之前,必须shutdown MySQL实例,不能将一个运行中的原创 2021-05-20 16:15:23 · 1025 阅读 · 0 评论 -
MySQL备份工具xtrabackup介绍和安装部署
MySQL备份工具xtrabackup介绍和安装部署xtrabackup 工具介绍mysqpdump做不到增量备份、差异备份xtrabackup都能做,功能强大percona提供的mysql数据库备份工具,惟一开源的能够对innodb和xtradb数据库进行热备的工具xtrabackup 特点:备份还原过程快速、可靠备份过程不会打断正在执行的事务能够基于压缩等功能节约磁盘空间和流量自动实现备份检验开源,免费xtrabackup工具文件组成历史版本Percona XtraB原创 2021-05-20 10:45:41 · 3762 阅读 · 0 评论 -
如何避免MySQL主从复制数据不一致?
1. 避免主从复制不一致主库binlog采用ROW格式主从实例数据库版本保持一致主库做好账号权限把控,不可以执行set sql_log_bin=0从库开启只读,不允许人为写入定期进行主从一致性检验2. 主从不一致修复方法2.1 将从库重新实现虽然这也是一种解决方法,但是这个方案恢复时间比较慢,而且有时候从库也是承担一部分的查询操作的,不能贸然重建。2.2 使用percona-toolkit工具辅助PT工具包中包含pt-table-checksum和pt-table-sync两原创 2021-05-19 14:16:24 · 391 阅读 · 0 评论 -
MySQL8.0.25使用插件实现主从半同步复制
主从半同步复制的作用默认情况下,MySQL的复制功能是异步的,异步复制可以提供最佳的性能,主库把binlog日志发送给从库即结束,并不验证从库是否接收完毕。这意味着当主服务器或从服务器端发生故障时,有可能从服务器没有接收到主服务器发送过来的binlog日志,这就会造成主服务器和从服务器的数据不一致,甚至在恢复时造成数据的丢失MySQL8.0.25配置实现主从半同步先装功能插件模块,再启用插件功能,最后修改配置文件永久生效。检查插件是否已存在使用yum或者rpm安装,使用rp原创 2021-05-19 13:34:32 · 961 阅读 · 0 评论 -
MySQL使用mysqldump备份数据库
逻辑备份工具:mysqldump, mydumper, phpMyAdminmysqldump介绍mysqldump是MySQL的客户端命令,通过mysql协议连接至mysql服务器进行备份备份数据库三种方式mysqldump database [表] 不建议可以备份单一数据库中的表或者指定的表,但是不备份数据库本身,如果创建数据库时指定了字符集和排序规则,恢复时需要手动创建数据库,无法保证一致性mysqldump -B 数据库名 > 板寸的文件.sql不仅备份了数据库中的表,原创 2021-05-18 21:37:30 · 774 阅读 · 1 评论 -
MySQL数据库的备份和恢复
意义数据库备份后一定要测试写灾备和还原技术文档通过二进制日志结合完全备份和增量备份做到数据损失到最小备份类型完全备份速度最慢,最完整部分备份备份特定的数据增量备份基于完全备份,备份速度最快,还原麻烦差异备份基于完全备份,备份速度越来越慢越来越大,还原简单备份的形式冷热备份冷备:读、写操作均不可进行,数据库停止服务温备:读操作可执行;但写操作不可执行MyISAM:温备,因不支持事务所以不支持热备,热备:读、写操作均可执行InnoDB:都支持 由事务支持物理原创 2021-05-18 20:55:24 · 158 阅读 · 0 评论 -
实现MySQL8.0.25集群主从复制
MySQL集群避免单点故障负载均衡读写分离主从复制依赖于二进制日志主从节点版本应该一直,如不一致,从节点应用高版本主从复制原理主开启一个线程监听并传递修改从节点开启两个线程,接受修改,完成修改配置实现MySQL主从复制主节点配置确认启用二进制日志,把二进制文件放在独立的目录中分配ID号,默认是1,修改配置文件/etc/mycnf.d建议使用ip地址的主机位最后一位作为server-ID 避免ID冲突确定二进制日志文件位置和二进制日志中所在位置创建有复制权限的账号MyS原创 2021-05-18 18:37:30 · 447 阅读 · 1 评论 -
实践MySQL8.025数据库服务器迁移
数据库服务器迁移实验准备两台CentOS8操作系统服务器183生产服务器运行MySQL8.0.25185迁移服务器未安装数据库检查183生产服务器MySQL版本mysql> select version();+-----------+| version() |+-----------+| 8.0.25 |+-----------+1 row in set (0.00 sec)检查183生产服务器MySQL内数据库mysql> show databases;原创 2021-05-18 17:35:15 · 477 阅读 · 0 评论 -
二进制安装MySQL8.0.25的Shell脚本
详细步骤请参阅:CetnOS8 适应Linux通用二进制包安装MySQL最新社区版Server8.0.25脚本具体实现:我们此次选择Linux通用二进制安装包rpm包省事省时,需要联网,无法定制功能和目录源码包,无需联网,可定制功能和目录,但编译费时编译好的二进制包介于两者之间无需联网,可定制功能和目录,同时不需要再进行费时的编译过程[root@C8-185 ~]# curl 10.0.0.88/shell/installMySQL8.sh#!/bin/bash. /etc/init原创 2021-05-18 13:58:54 · 450 阅读 · 0 评论 -
CentOS8 适应Linux通用二进制包安装MySQL最新社区版Server8.0.25
MySQL最新社区版Server8.0.25二进制包官网下载链接:wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz华为源下载链接:wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.t原创 2021-05-18 12:21:36 · 480 阅读 · 3 评论 -
CentOS 7 yum安装MySQL
CentOS 光盘源中提供的MySQLCentOS 8:安装光盘直接提供mysql-server:8.0mariadb-server : 10.3.17CentOS 7:安装光盘直接提供mariadb-server:5.5 服务器包mariadb 客户端工具包CentOS 6:mysql-server:5.1 服务器包mysql 客户端工具包CentOS 7默认使用mariaDB[root@c7-182 ~]# yum provides mysqlLoaded plugins: f原创 2021-05-17 23:18:21 · 195 阅读 · 0 评论 -
MySQL二进制日志
二进制日志(备份)只记录增删改,整个数据库的修改过程利用二进制日志可以通过恢复操作来恢复数据库有的版本默认没有开启二进制日志不依赖于存储引擎类型二进制日志记录三种格式语句型:statement 记录执行语句 更加节约空间,不详细,重复执行结果有可能不一样,在不同的时间点,结果有差异行型:row 记录所有产生的操作,更加占用空间,但是更加详尽,记录的全面的例如不会随着时间产生差异混合型:mixed, 由mysql自己决定,结合了相中特性,不靠谱,还不如都都用行踏实#MariaDB原创 2021-05-17 13:24:28 · 271 阅读 · 0 评论 -
MySQL面试题: InnoDB中一颗的B+树可以存放多少行数据?
假设定义一颗B+树高度为2,即一个根节点和若干叶子节点。那么这棵B+树的存放总行记录数=根节点指针数*单个叶子记录的行数。这里先计算叶子节点,B+树中的单个叶子节点的大小为16K,假设每一条目为1K,那么记录数即为16(16k/1K=16),然后计算非叶子节点能够存放多少个指针,假设主键ID为bigint类型,那么长度为8字节,而指针大小在InnoDB中是设置为6个字节,这样加起来一共是14个字节。那么通过页大小/(主键ID大小+指针大小),即16384/14=1170个指针,所原创 2021-05-14 15:11:48 · 705 阅读 · 0 评论 -
MySQL和SQL语言快速简单应用
进入数据库建议使用mycli客户端,可以提示命令pip3 install mycli[root@C8-194 ~]# mycliConnecting to socket /var/lib/mysql/mysql.sock, owned by user mysqlPassword: MySQL mycli 1.24.1Home: http://mycli.netBug tracker: https://github.com/dbcli/mycli/issuesThanks to.原创 2021-05-13 12:57:38 · 189 阅读 · 0 评论 -
MySQL社区版下载地址
下载MySQL安装不同版本MySQL通常需要提前下载好服务器端程序MySQL服务器程序分为收费的企业版和免费的社区版通常我们使用免费的社区版官方下载地址总:我们可以通过MySQL官网找到不同版本下载的路径通过https://www.mysql.com/downloads/ 找到社区版下载位置https://downloads.mysql.com/archives/community/下载最新版的MySQL Serverhttps://dev.mysql.com/downloa原创 2021-05-12 13:30:56 · 724 阅读 · 0 评论 -
mycli-增强版的mysql客户端工具
python写的功能强大的客户端工具yum install python3-pippip3 install mycli[root@C8-194 ~]# mycli Connecting to socket /var/lib/mysql/mysql.sock, owned by user mysqlPassword: MySQL mycli 1.24.1Home: http://mycli.netBug tracker: https://github.com/dbcli/mycli/is.原创 2021-05-12 10:38:02 · 191 阅读 · 0 评论 -
CentOS8 Yum安装MySQL
RPM包安装MySQLCentOS 8:安装光盘直接提供mysql-server:8.0mariadb-server : 10.3.17CentOS 7:安装光盘直接提供 (抛弃了mysql)mariadb-server:5.5 服务器包mariadb 客户端工具包CentOS 6:mysql-server:5.1 服务器包mysql 客户端工具包CentOS 8 yum安装自带mysqlyum -y install mysql-server安装 mysql原创 2021-05-12 10:03:45 · 1392 阅读 · 0 评论 -
MySQL数据库基础-2范式
数据库结构设计数据库的正规化分析和设计,按照规则进行设计范式设计数据库的规范 第12345范式,凡是之间有依赖关系。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,不同的规范要求被称为不同范式,各种范式呈递次规范,越高的范式数据库冗余越小第一范式 1NF没有重复的列,每一列都是不可分割的基本数据项同一列里不能有多个值,即实体中的某个属性不能有多个值或者不能有重原创 2021-05-10 18:15:00 · 258 阅读 · 1 评论 -
MySQL数据库基础-1
数据库原理数据库是核心是生命数据时代信息创造价值结构化数据 关系完整,密切非结构化数据 数据散乱,相互关系不大半结构化数据 XML HTML 也不是完全没有结构,也不是特别规矩MySQL适合管理结构化的数据数据库的发展早期:文件管理数据 excel word 之类的存文件 并发性、安全性很难控制。专门使用一个数据库的软件来管理数据数据库的管理思想 DBMS问题:文件存放数据 访问控制有问题数据库管理系统:为解决上述问题,产生了DBMS 数据原创 2021-05-10 17:53:14 · 245 阅读 · 0 评论