mysql数据库

MySQL 主键冲突,无法插入数据

帅比萌擦擦* 提交于 2020-02-25 15:24:18
1.若主键没有设置自增长,也会出现 Duplicate entry '8388607' for key 'PRIMARY' ; 2.问题: 开发来电话说仓库无法下单,程序插入数据提示: 入库单 xxxx1589762285确认失败:Duplicate entry '8388607' for key 'PRIMARY' 查看数据库表结构: show create table table_name; 表结构的字段为主键自增,应该没问题啊,仔细一看发现表结构id类型如下: `id` mediumint(8) NOT NULL AUTO_INCREMENT 字段类型为 mediumint,支持的最大值为8388607,确定问题。 修改表结构的id字段类型,修改的时候一定要注意加上 auto_increment,否则修改完,主键自增为失效 alter table table_name modify id bigint not null aotu_increment; 修改成功后,联系开发,让仓库那边重新试一下,没问题! 来源: https://www.cnblogs.com/jerrypro/p/6484189.html

MySQL数据安装详细教程

二次信任 提交于 2020-02-25 15:22:03
这篇文章我看了网上许多教程和视频的总结 第一步,登录官网下载(网页加载可能会有些慢) 登陆官网——>点击downloads——>向下翻找到下图红箭头所指,点击进入——>跟着箭头走吧…(中途会让你注册一下账号,就按要求注册就好了,一会儿时间) 第二步,下载完成后 解压文件夹——>建立MySQL文件夹,将压缩包和解压包放入(这一步看个人习惯) 打开 mysql-8.0.19-winx64 文件,点击查看[1],再点击选项按钮[2],点击查看标签,将下图打勾两项设置成如下形式。 第三步、建立my.ini文件 打开记事本,输入以下代码,其中目录部分根据自己文件所在位置填写(已在文中标出),将文件保存为my.ini文件(将建立好的文件名字改为my,拓展名改为ini) [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\D\MySQL\mysql-8.0.19-winx64 (自己修改) # 设置mysql数据库的数据的存放目录 datadir=C:\D\MySQL\mysql-8.0.19-winx64\data (只修改data前面的的部分) # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 #

zabbix全网监控

て烟熏妆下的殇ゞ 提交于 2020-02-25 12:36:43
为什么要监控 运维的职责 1.保障企业数据的安全可靠。 2.为客户提供7*24小时服务。 3.不断提升用户的体验。 在关键时刻,提前提醒我们服务器要出问题了 当出问题之后,可以便于找到问题的根源 拿到公司服务器的管理权之后, 第一件事,备份 第二件事,监控 数据有故障了,服务有问题了,一些内容挂掉了,比如web服务器,或者是硬件的服务器,raid,磁盘有故障了也会报警,用户访问网站,感觉慢了,也可以获得相应的提示 这是一个非常重要的部分 你们公司监控是怎么做的-面试题 OSI/ISO7层协议进行回答 业务流程、用户访问网站的流程进行补充 监控工具 mrtg 流量监控出图 nagios 监控 cacti 流量监控出图 zabbix 监控+出图,所有监控范畴,都可以整合到Zabbix中。 硬件监控:Zabbix IPMI Interface 系统监控:Zabbix Agent Interface Java监控:Zabbix JMX Interface 网络设备监控:Zabbix SNMP Interface 应用服务监控:Zabbix Agent UserParameter MySQL数据库监控:percona-monitoring-plulgins URL监控:Zabbix Web 监控 Zabbix简介 zabbix是一个基于WEB界面的

MySQL 事务提交过程

本小妞迷上赌 提交于 2020-02-25 11:43:26
开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我,失败的话也会记录,坐地无语,因为他sqlserver dba,用sqlserver的思维考虑mysql,哈哈哈哈哈,用实验让他闭嘴! 简单测试步骤如下: root(yoon)> flush logs; Query OK, 0 rows affected (0.01 sec) root((none))> show binlog events in 'mysql-bin.000041'; +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | mysql-bin.000041 | 4 |

mysql源码解读之事务提交过程(一)

∥☆過路亽.° 提交于 2020-02-25 11:43:11
mysql是一种关系型数据库,关系型数据库一个重要的特性就是支持事务,这是区别于no-sql产品的一个核心特性。当然了,no-sql产品支持键值查询,不能支持sql语句,这也是一个区别。今天主要讨论下事务的提交流程,由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。本文仅讨论binlog未打卡状态下的提交流程,后续会讨论打开binlog选项后的提交逻辑。源码调试环境如下: 测试环境: OS:windows DB:mysql 5.6.12 engine:innodb 测试前置条件: set autocommit=0; create table tt(col1 int, col2 varchar(100)); 测试语句: insert into tt values(1, 'abcdef'); commit; 无论对于dml语句【insert,update,delete等】还是dcl语句【commit,rollback】,mysql提供了公共接口mysql_execute_command,我们先分析mysql_execute_command接口的基本流程: mysql_execute_command { switch (command) { case SQLCOM_INSERT: mysql_insert()

Oracle与MySQL的几点区别

為{幸葍}努か 提交于 2020-02-25 08:46:13
Oracle数据库与MySQL数据库的区别是本文我们主要介绍的内容,希望能够对您有所帮助。 1.组函数用法规则 mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg: select name,count(money) from user;这个放在mysql中没有问题在oracle中就有问题了。 2.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。 CREATE SEQUENCE序列号的名称(最好是表名+序列号标记)INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 其中最大的值按字段的长度来定,如果定义的自动增长的序列号NUMBER(6),最大值为999999 INSERT语句插入这个字段值为:序列号的名称.NEXTVAL 3.单引号的处理 MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。 4.翻页的SQL语句的处理

给大家提供一个本人搭建的,免费测试jsp程序的网站

江枫思渺然 提交于 2020-02-24 20:33:07
有任何java程序或者jsp脚本程序,都可以用ftp上传到这个网站,然后运行。 如果是java程序,需改写成jsp脚本,上传后即可运行并查看结果。 本网站使用java1.6.0 + tomcat-6.0.45。 以下提供五个账号: Tomcat Id:46 Web端口:10146 赠送域名:tomcat_46.falls27.com Web地址:http://tomcat_46.falls27.com:10146/ 用户本地目录:e:\tomcats\tomcat_46\apache-tomcat-6.0.45_46 access数据库目录:e:\tomcats\tomcat_46\apache-tomcat-6.0.45_46\mdb tomcat控制面板地址:http://home1.falls27.com:11000/falls27/ tomcat控制面板用户名:tomcat_46 tomcat控制面板密码:IiEwFK ftp地址:ftp://tomcat_46.falls27.com:10501 ftp用户名:tomcat_46 ftp密码:IiEwFK mysql地址:localhost mysql端口:3306 mysql用户名:tomcat_46 mysql密码:IiEwFK mysql数据库db:tomcat_46 phpmyadmin地址:http:/

Mysql5.7.19版本安装

梦想的初衷 提交于 2020-02-24 20:23:16
1.下载: 推荐下载Mysql版本:5.7.19 地址: https://dev.mysql.com/downloads/mysql/ 2.安装 解压mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar包后,执行以下命令安装: rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm --nodeps rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm --nodeps rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64.rpm --nodeps rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm --nodeps rpm -ivh mysql-community-libs-compat-5.7.19-1.el6.x86_64.rpm --nodeps 3.配置: 在/etc/my.cnf配置文件中,只是增加bin-log相关配置,其他不用修改,关注以下汉字注释部分 [mysqld] # dbus相关配置开始 log-bin=mysql-bin binlog-format=ROW server_id=1 # dbus相关配置结束 4

MySQL三种备份

六眼飞鱼酱① 提交于 2020-02-24 18:12:31
一)备份分类 1 2 3 4 5 6 7 8 9 10 11 12 冷备:cold backup数据必须下线后备份 温备:warm backup全局施加共享锁,只能读,不能写 热备:hot backup数据不离线,读写都能正常进行 备份的数据集 完全备份:full backup 部分备份:partial backup 备份时的接口(是直接备份数据文件还是通过mysql服务器导出数据) 物理备份:直接复制(归档)数据文件的备份方式:physical backup 逻辑备份:把数据从库中提出来保存为文本文件:logical backup 完全备份:full backup 增量备份:incrementl backup 差异备份:fidderential backup 二)备份工具mysqldump讲解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 mysqldump:逻辑备份工具 InnoDB引擎热备,MyISM温备,Aria温备 备份和恢复的过程比较慢,很难实现差异或增量备份 恢复时,如果目标库不存在,需要事先手动创建 常用选项: --all-databases:备份所有库 --databases db1 db2...:备份指定的多个库 注意:备份前要加锁: --lock-all

使用jdbc对mysql进行增删改查

送分小仙女□ 提交于 2020-02-24 13:36:14
建立数据库和数据表 CREATE DATABASE `mysqlTest` DEFAULT CHARACTER SET utf8; CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `num_id` int(11) DEFAULT NULL, `name` varchar(20) NOT NULL, `f_name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 简单的demo package sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JDBCDemo{ public static void main(String[] args) throws SQLException{ insertFunction(); updateFunction(); queryFunction(); } public static