MySQL的基本操作-编程思维

一、mysql的启动和连接   1.、服务控制(启动、查看状态、停止、重启,重载)      两种方法(Ubuntu系统) sudo /etc/init.d/mysql start | status | stop | restart | reload service mysql start | status | stop | restart | reload   2 、连接数据库 mys

CMU 15-445 数据库课程第三课文字版 - 存储1-编程思维

熟肉视频地址: CMU数据库管理系统课程[熟肉]3.数据库存储结构1(上) CMU数据库管理系统课程[熟肉]3.数据库存储结构1(下) 1. 课程大纲 这门课主要是关于如何开发一个功能全面的数据库管理系统,而不是如何编写复杂的 SQL 查询以及设计出最合理的关系模型数据库表。这门课会告诉你从低往上设计一个数据库管理系统需要的这些技术栈层: 磁盘管理(Disk Manager) 缓存池管理(

MySQL优化基本操作-编程思维

背景 “那啥,你过来一下!” “怎么了?我代码都单元测试了的,没出问题啊!”我一脸懵逼跑到运维大佬旁边。 “你看看!你看看!多少条报警,赶快优化一下!” 运维大佬短信列表里面50多条MySQL CPU 100%报警短信。再看看项目名称不就是我前几天刚发布的项目吗!? 我心底一沉,赶快赔上笑脸。“这个一定优化,马上优化!那个,能不能看下数据库监控日志...” 运维大佬又数落了我几句,然后调开了数据

MySQL InnoDB 修改表列Online DDL-编程思维

概述 一般来说数据库结构一经设计,不能轻易更改,因为更改DDL(Data Definition Language)操作代价很高,所以在进行数据库结构设计时需要谨慎。 但是业务发展是未知的,特别是那些变化很大的业务,所以不可避免的需要修改数据库结构,本文主要对MySQL5.6+ InnoDB存储引擎字段的修改进行探讨。 对于不同的场景,所使用的方式也会大不相同,尤其是修改百万级,千万级的表字段时,

不可不知的 MySQL 升级利器及 5.7 升级到 8.0 的注意事项-编程思维

数据库升级,是一项让人喜忧参半的工程。喜的是,通过升级,可以享受新版本带来的新特性及性能提升。忧的是,新版本可能与老的版本不兼容,不兼容主要体现在以下三方面: 语法不兼容。 语义不兼容。同一个SQL,在新老版本执行结果不一致。 新版本的查询性能更差。 所以,在对线上数据库进行升级之前,一般都会在测试环境进行大量的测试,包括功能测试和性能测试。 很多人可能会觉得麻烦,于是对待升级就秉持着一种“不主

Linux-Mycat总结-编程思维

Mycat Mycat 可以简单概括为 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 Mycat 官

Linux-Mycat实现MySQL的读写分离-编程思维

centos8 服务器共三台 client                  10.0.0.88        mariadb-10.4.24 mycat-server     10.0.0.18        #内存建立2G以上      mysql-master     10.0.0.28          mariadb-10.4.24 mysql-master      10.0.0.3

事务隔离级别-编程思维

原文: 事务隔离级别https://schaepher.github.io/2020/04/24/acid-isolation/ 事务隔离级别有四种。它们的区别在于一个修改数据的事务在提交前和提交后,另一个进行中的事务读取到的数据是修改前还是修改后的数据。 READ-UNCOMMITED = 读-未提交 READ-COMMITED = 读-已提交 REPEATABLE-READ = 可重复-

MySQL-权限管理和DCL语句-编程思维

权限类别: 管理类 程序类 数据库级别 表级别 字段级别 管理类: CREATE USER FILE SUPER SHOW DATABASES RELOAD SHUTDOWN REPLICATION SLAVE REPLICATION CLIENT LOCK TABLES PROCESS CREATE TEMPORARY TABLES 程序类:针对 FUNCTION、PROCEDURE、TRIG

Linux-MySQL5.7-主从复制架构-编程思维

实验环境 机器 centos7       地址10.0.0.7      主机名master.org centso7  地址10.0.0.77    主机名slave.org 已安装MySQL5.7数据库 主从配置 修改主机名区分主次 [root@centos7-liyj ~]#hostnamectl set-hostname master.org [root@centos7-liyj ~]

Linux-MySQL-主主复制-编程思维

主主复制 主主复制:两个节点,都可以更新数据,并且互为主从 容易产生的问题:数据不一致;因此慎用 考虑要点:自动增长id 配置一个节点使用奇数id auto_increment_offset=1 #开始点 auto_increment_increment=2 #增长幅度 另一个节点使用偶数id auto_increment_offset=2 auto_increment_increme

Linux-xtrabackup工具-总结-编程思维

工具介绍 Percona 公司 官网:www.percona.com percona-server InnoDB --> XtraDB Xtrabackup备份工具 percona提供的mysql数据库备份工具,惟一开源的能够对innodb和xtradb数据库进行热备的工具 手册:https://www.percona.com/doc/percona-xtrabackup/LATEST/i

Linux-mysqldump-备份工具-总结-编程思维

mysqldump 说明 逻辑备份工具: mysqldump, mydumper, phpMyAdmin Schema和数据存储在一起、巨大的SQL语句、单个巨大的备份文件 mysqldump是MySQL的客户端命令,通过mysql协议连接至mysql服务器进行备份 命令格式: mysqldump [OPTIONS] database [tables] #支持指定数据库和指定多表的备份,但

Linux-xtrabackup实现全量+增量+binlog恢复库-编程思维

备份环境 centos7 ,地址10.0.0.7    数据库: MySQL5.7 数据库    备份库 centos7     地址10.0.0.77  数据库: MySQL5.7 数据库    还原库  xtrabackup工具2.4   centos7:10.0.0.7和10.0.0.77 都操作 创建备份目录 上传工具包xtrabackup [root@centos7-liyj ~]#

Linux-mariadb-10.4-二进制安装-编程思维

安装环境 系统环境centos8  下载Mariadb 二进制编码安装包 [root@centos8-liyj ~]#wget https://mirrors.aliyun.com/mariadb//mariadb-10.4.24/bintar-linux-glibc_214-x86_64/mariadb-10.4.24-linux-glibc_214-x86_64.tar.gz --2022

MySQL -SQL语法标准-编程思维

关系型数据库的常见组件 数据库:database 表:table,行:row 列:column 索引:index 视图:view 存储过程:procedure 存储函数:function 触发器:trigger 事件调度器:event scheduler,任务计划 用户:user 权限:privilege SQL 语言规范 在数据库系统中,SQL 语句不区分大小写,建议用大写 SQL语句可单行或

MySQL(6) - MySQL的基本操作-编程思维

1.数据插入操作 2.数据更新操作 例子-1: 已有表tb_stu的部分数据,如下图所示,把奖学金前三名的金额减300元 update tb_stu set scholarship=scholarship-300 order by scholarship desc LIMIT 3; 例子-2: 已有表tb_stu和tb_dept的部分数据,如下图所示,将王五调换到金融系

Linux-安装-MySQL5.7-编程思维

1、二进制安装MySQL5.7 安装相关包 yum -y install libaio numactl-libs 用户和组 groupadd mysql useradd -r -g mysql -s /bin/false mysql [root@centos7-liyj ~]#groupadd mysql [root@centos7-liyj ~]#useradd -r -g mys

mysql存储过程之循环遍历查询结果集-编程思维

mysql存储过程之循环遍历查询结果集 -- 创建存储过程之前需判断该存储过程是否已存在,若存在则删除 DROP PROCEDURE IF EXISTS init_reportUrl; -- 创建存储过程 CREATE PROCEDURE init_reportUrl() BEGIN -- 定义变量 DECLARE s int DEFAULT 0; DECLARE report_id v