mysql数据库

LNMP动态网站

我的未来我决定 提交于 2020-01-14 01:17:21
LNMP基础知识 什么是LNMP 主流的企业网站平台之一 L:Linux操作系统 N:Nginx网站服务软件 M:MySQL.MariaDB数据库 P:网站开发语言(PHP.Perl.Python) 静态网站和动态网站区别 静态网页: (1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等 (2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。 动态网页: (1)动态网页是指跟静态网页相对的一种网页编程技术。动态网页的网页文件中除了HTML标记以外,还包括一些特定功能的程序代码,这些代码可以使得浏览器和服务器可以交互,所以服务器端根据客户的不同请求动态的生成网页内容。 即:动态网页相对于静态网页来说,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。 (2)动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术(如PHP、ASP、JSP等

golang go-sql-driver 数据库报错 bad connection

牧云@^-^@ 提交于 2020-01-13 22:32:34
开发Go项目中,有时候在有大量操作Mysql时,有时候会发生如下错误。 "driver: bad connection" 原因 这是因为Mysql服务器主动关闭了Mysql链接。 在项目中使用了一个mysql链接,同时使用了事务,处理多个表操作。处理时间长。 导致空闲链接超时,Mysql关闭了链接。而客户端保持了已经关闭的链接。 具体原因是: beego没有调用db.SetConnMaxLifetime 这个方法,导致客户端保持了已经关闭的链接。 解决 Beego调用 db.SetConnMaxLifetime(time.Second) ,设置数据库闲链接超时时间。 engine.SetConnMaxLifetime(time.Second * 30) 来源: CSDN 作者: whatday 链接: https://blog.csdn.net/whatday/article/details/103952962

msql 表insert select update delete (三)

对着背影说爱祢 提交于 2020-01-13 21:58:26
1.插入数据 insert into 表名 values("字段1“,字段2.) mysql> insert into classes values(null,"WuLiu",98); Query OK, 1 row affected (0.01 sec) 多行插入 mysql> insert into classes values(3,"GuanLi",22),(4,"KuaiJi",55); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> desc classes; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | num | int(11) |

MySQL ---- 读写分离

安稳与你 提交于 2020-01-13 21:51:30
MySQL ---- 读写分离 一:原理 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,而 从数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 二:Amoeba的定义 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。 Amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。需要结合使用MySQL的 Replication等机制来实现副本同步等功能。 安装包自行下载 : 复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1kRkbem91iPxeQ-bZUObTxg 提取码:bg88 三:实验配置 1、环境说明 准备三台Mysql服务器 (一台主服务器 ,一台从服务器) 一台Amoeba ,用来实现读写分离 一台客户机作为验证 Mysql 主从复制与读写功能是密切相关的,通过主从复制来实现数据同步,再通过读写分离来提升数据库的并发负载能力。 2、实验步骤 配置Amoeba 服务器 [root@localhost ~]#

MySQL数据库limit(分页)语句

我与影子孤独终老i 提交于 2020-01-13 20:58:55
select * from persons limit A, B; 解释: A,查询起点 B,你需要的行数 示例: select * from persons limit 0 , 4; 解释: 起点位置为0,开始查询,返回4条数据 String sql="select * from category limit "+(p-1)*Resource.PAGETOTAL+","+Resource.PAGETOTAL ; 这句话的作用是从category表中按每页为 Resource.PAGETOTAL 这个常量的数据显示。 来源: CSDN 作者: 奔跑的狮⁠子 链接: https://blog.csdn.net/weixin_42247720/article/details/103963047

MySQL的备份和恢复案例

天涯浪子 提交于 2020-01-13 20:15:32
文章目录 Crash Recovery 使用mysqldump进行 SQL-Format备份和恢复 使用mysqldump进行 Delimited-Text备份和恢复 使用binlog进行时间点恢复 Crash Recovery 当发生电眼掉电或硬件故障,MySQL重新启动时会自动进行Crash Recovery,从日志文件中读取pending的信息,rollback uncommit同时把已经提交的交易flush到datafile,这些信息可以从MySQL的错误日志中看到,这里我用kill -9模拟宕机: 使用mysqldump进行 SQL-Format备份和恢复 全量备份: shell> mysqldump --all-databases --master-data --single-transaction > backup_sunday_1_PM.sql 这里包含着备份时间点信息: -- -- Position to start replication or point-in-time recovery from -- CHANGE MASTER TO MASTER_LOG_FILE='master-binlog.000015', MASTER_LOG_POS=194; 我们可以在备份时进行日志切换 shell> mysqldump --single-transaction

mysql 不能加载表问题

被刻印的时光 ゝ 提交于 2020-01-13 19:27:19
记录一次 mysql 5.7 下,出现重启数据库后不能加载特定表的问题处理。 搜索了很多的类似的错误,大多都是说因为外键同名的索引丢失的情况。但在5.7这个版本下,会禁止更新外键关联的索引。 最后经过分析,发现是之前更新了主外键的字符集导致的。数据库的默认字符集是utf8mb4(预期是uft8),如果执行脚本的时候没指定,都会已表的默认字符集去更新。导致外键引用的列字符集不一致,出现错误。 只需要同步外键字段的字符集就能处理该问题。 来源: https://www.cnblogs.com/tangcn/p/12188500.html

关系型数据库(SQL)相关练习题目

巧了我就是萌 提交于 2020-01-13 19:18:11
一、简答题。 1. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别(至少5点)? 答:首先呢,我们要知道,引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等。简单来说,存储引擎就是指 表的类型以及表在计算机上的存储方式 。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。 在MySQL中的存储引擎有很多种,我们可以可以通过“SHOW ENGINES”语句来查看。关于InnoDB、MyISAM、MEMORY这三种存储引擎的区别如下: 1).InnoDB存储引擎 InnoDB给MySQL的表提供了 事务处理 、 回滚 、 崩溃修复能力 和 多版本并发控制 的事务安全。在MySQL从3.23.34a开始包含InnnoDB。它是MySQL上第一个提供外键约束的表引擎。而且InnoDB对事务处理的能力,也是其他存储引擎不能比拟的。靠后版本的MySQL的默认存储引擎就是InnoDB。 InnoDB存储引擎总支持

七、Dockerfile案例三(Mysql安装)

狂风中的少年 提交于 2020-01-13 15:10:04
七、Dockerfile案例三(Mysql安装) *特别提醒:新版的mysql:5.7数据库下的user表中已经没有Password字段了(5.5的user表还有) 一、查看docker hub上的版本 [root@iz2zecm4ndtkaue32tynx5z ~]# docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/mysql MySQL is a widely used, open-source relati... 6644 [OK] docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 2110 [OK] docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 486 [OK] docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 355 [OK] docker.io docker.io/zabbix/zabbix-server-mysql Zabbix

MySQL之You can\'t specify target table for update in FROM clause解决办法

我是研究僧i 提交于 2020-01-13 15:06:36
这篇文章主要介绍了mysql中You can’t specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下 MySQL 中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql: 复制代码 代码如下: delete from tbl where id in ( select max(id) from tbl a where EXISTS ( select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1 ) group by tac ) 改写成下面就行了: 复制代码 代码如下: delete from tbl where id in ( select a.id from ( select max(id) id from tbl a where EXISTS ( select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1 ) group by tac ) a )