Mysql数据库异常 1.1....数据库问题之Got error 28 from storage engine 原因首先检查磁盘是否已满,df -h一下 很可能是日志数据过大,查看该目录下文件夹和文件大小 du -h --max-depth...=1 参考 https://blog.csdn.net/en_joker/article/details/76020875 ps: 之后又新的数据库问题,陆续补充
问题分析解决 昨天突然服务器重启了,最后导致的就是Zabbix的数据库MYSQL库表坏了,然后MYSQL就启动不了了。...那就试试呗,在/etc/my.cnf的[mysqld]下增加 innodb_force_recovery = 1 试试,添加完成后,果然MYSQL启动ok了。...看起来基本没有问题了,那咱就先把Zabbix Server启动起来看看吧,然后用tail命令MYSQL的error日志中还会有什么异常情况。...这种情况之前遇到过,需要清理系统表数据和删除表,然后导入mysql_system_tables.sql即可,操作如下: 1、登录数据库,进入mysql库,执行如下SQL删除5张表 mysql> use...slave_worker_info.ibd 3、重新启动数据库,进入到mysql库,重建上面被删除的表结构 数据库的建表脚本在mysql软件的安装目录的share目录下或者mysql的安装包的script
内容提要: 使用cPanel主机管理系统的主机空间,一般都是要自己添加MySQL数据库才能正常使用的,本文将图文演示添加MySQL数据库和数据库用户全过程。...一、添加MySQL数据库 1.点击“数据库(MySQL Databases)”,进入到数据库设置界面: 2.在“生成新的数据库”下输入数据库名,然后点击“生成数据库”按钮: 3.数据库已经添加,点击...“回到/返回”,回到数据库设置页面: 二、添加MySQL用户 1.在添加新用户下,填写用户名和密码,最后点击“生成用户”: 2.MySQL用户添加成功,点击“返回”回到数据库设置页面: 三、关联MySQL...数据库和用户 1.在“向数据库添加用户”下,选择刚才添加的MySQL数据库和用户,点击“添加”: 2.勾选MySQL用户的权限,一般都是我们自己使用,建议全选,点击更改: 3.MySQL数据库和用户关联成功...,点击“返回”回到数据库设置页面: 4.此时在“当前数据库”就可以看到关联号的MySQL数据库和用户: 到这里为止,cPanel成功添加了MySQL数据库,本文演示创建的数据库信息如下: 服务器一般为
我们将异常分为mysql内部异常和外部异常 mysql内部异常 当我们执⾏⼀些sql的时候,可能违反了mysql的⼀些约束,导致mysql内部报错,如插⼊ 数据违反唯⼀约束,更新数据超时等,此时异常是由...mysql内部抛出的,我们将这些由 mysql抛出的异常统称为内部异常。...⼀致的情况统称为外部异常。...Mysql内部异常 示例1 test1表中的a字段为主键,我们向test1表同时插⼊2条数据,并且放在⼀个事务 中执⾏,最终要么都插⼊成功,要么都失败。...模拟异常情况: mysql> DELETE FROM test1; Query OK, 2 rows affected (0.00 sec) mysql> CALL proc2(1,1); Query
外部异常 外部异常不是由mysql内部抛出的错误,⽽是由于sql的执⾏结果和我们期望的结果不⼀致 的时候,我们需要对这种情况做⼀些处理,如回滚操作。...开启2个cmd窗⼝,连接mysql,同时执⾏下⾯操作: USE javacode2018; CALL proc3(1001,100,@v_msg); select @v_msg; 然后执⾏: mysql...available | +---------+-----------+ | 1001 | 900.00 | +---------+-----------+ 1 row in set (0.00 sec) mysql...乐观锁类似于java中的cas操作,这块需要了解的可以点击:详解CAS 我们可以在资⾦表t_funds添加⼀个version字段,表⽰版本号,每次更新数据的时候 +1,更新数据的时候将version作为条件去执
验证结果:开启2个cmd窗⼝,连接mysql,执⾏下⾯操作: use javacode2018; CALL proc4(1001,100,@v_msg); select @v_msg; 窗⼝1结果: mysql...异常分为Mysql内部异常和外部异常 2....内部异常由mysql内部触发,外部异常是sql的执⾏结果和期望结果不⼀致导致的错误 3. sql内部异常捕获⽅式 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET...ROW_COUNT()可以获取mysql中insert或者update影响的⾏数 5....掌握使⽤乐观锁(添加版本号)来解决并发修改数据可能出错的问题 6. begin end前⾯可以加标签,LEAVE 标签可以退出对应的begin end,可以使⽤这个 来实现return的效果
在Centos上部署项目发现一个奇怪的问题,数据库连接一直抛异常。于是花了两个小时搜了各种数据库连接异常导致的原因,最终问题得以解决。...项目在本地启动连接服务器数据库正常、本地数据库客户端连接服务器数据库正常、服务器本地连接client连接数据库正常。唯独把项目部署到服务器上启动时抛出异常。...解决方案:修改my.ini配置,增加超时时间或在连接url中添加“&autoReconnect=true”。...在port=3306下面添加如下配置: wait_timeout=31536000 interactive_timeout=31536000 然后重启MySQL。...原文链接:《Mysql连接数据库异常汇总【必收藏】》 《Spring Boot 2.x 视频教程全家桶》,精品Spring Boot 2.x视频教程,打造一套最全的Spring Boot 2.x视频教程
负载过高 建议: 在业务低峰期做,将影响降到最低 安装 1.去官网下载对应的版本,官网下载地址:下载网址 查询mysql版本 根据版本下载对应的软件 select version(); 2.下载 ?...的用户名 –password= 连接mysql的密码 –host= 连接mysql的地址 P=3306 连接mysql的端口号 D= 连接mysql...password=${cnn_pwd} --host=${cnn_host} P=3306,D=${cnn_db},t=$table --alter "${alter_conment}" --execute 添加执行权限...chmod +x pt.sh 3.添加表字段 如添加表字段SQL语句为: ALTER TABLE `tb_test` ADD COLUMN `column1`tinyint(4) DEFAULT NULL...varchar(30); pt-online-schema-change工具: sh pt.sh tb_test "CHANGE COLUMN age address varchar(30)" 6.添加索引
写在前面 博文内容涉及 Mysql 数据库索引简单认知,包括SQL执行过程,数据库数据存储原理。...如何通过索引加快数据查询原理简单介绍 适合有一定SQL基础的开发运维小伙伴建立数据库索引认知,了解如何添加索引 理解不足小伙伴帮忙指正 :),生活加油 99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来...那么如何避免全表扫描,在认知角度,查询数据最先想到二分法之类,所以需要对查询的字段排序,我们需要用某个值来标识数据,通过这个值来排序,在数据库角度这个标识就是索引,这里我们对其中一个查询条件添加索引,给...实际上 Mysql 中数据库索引有两种: 聚簇索引 聚簇索引,聚簇索引的数据库记录和索引存储在一起,我们上面一直在讲的索引就是 聚簇索引,也叫一级索引,在 Mysql InnoDB 中,数据库表的主键就是聚簇索引...所以 MySQL的数据库文件实际上是以主键作为中间节点,行记录作为叶子节点的一颗B+树。
Caused by: java.sql.SQLException: Cannot add foreign key constraint 查看DATABASECHANGELOG 日志 使用h2数据库时...,liquibase是能够正确创建表和外键以及索引,但是换到mysql的时候,无法成功创建外键。...上创建不了,而且表存在手动也不能添加外键,估计就是mysql的原因了。...Mysql添加不了外键原因有三: (1)外键对应的字段数据类型不一致 (2)两张表的存储引擎不一致 (3)设置外键时“删除时”设置为“SET NULL” 一个个排除,发现table_monitor_strategy...这个问题可能是mysql特有的,在h2上依然能够成功创建外键。
但是可能会报错 mysqlslap: unknown variable 'default-character-set=utf8' 修改 MySQL的安装目录下的配置文件my.ini ,把[client]...2.mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by 对于GROUP BY聚合操作,如果在SELECT中的列,...,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 默认关掉ONLY_FULL_GROUP_BY,但是重启MySQL...解决办法二(永久改变): 改my.ini 配置,在 [mysqld]和[mysql]下添加 sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE...,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 即可永久改变,重启MySQL服务也可以正常运行。
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、...首先用以root用户连入MYSQL,然后键入以下命令: grant select,insert,update,delete on *.* to test1@”%” Identified by “abc”...; 但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。...例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),...这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引...) mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添加INDEX(普通索引) mysql>ALTER TABLE `table_name...` ADD INDEX index_name ( `column` ) 4.添加FULLTEXT(全文索引) mysql>ALTER TABLE `table_name` ADD FULLTEXT...( `column`) 5.添加多列索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`,
1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.UNIQUE(唯一索引...) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column` ) 3.INDEX(普通索引) mysql>ALTER TABLE `table_name...` ADD INDEX index_name ( `column` ) 4.FULLTEXT(全文索引) mysql>ALTER TABLE `table_name` ADD FULLTEXT...( `column` ) 5.多列索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`
在 Linux 下,你可以使用 MySQL 的 root 用户登录到 MySQL 数据库,然后通过 SQL 命令来添加新用户并授予数据库权限。以下是一个简单的步骤: 1....用 root 用户登录到 MySQL: mysql -u root -p 2. 输入密码后,进入 MySQL 控制台。 3....授权用户访问特定数据库(请替换 `database_name` 为你要授权访问的数据库名称): GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'...*第一个*表示所有数据库,第二个*表示所有数据表,如果不想授权全部那就把对应的*写成相应数据库或者数据表;username为指定的用户名;%为该用户登录的域名。 5....退出 MySQL 控制台: exit; 完成上述步骤后,你已经成功在 Linux 下使用 MySQL 添加了新用户并授权了数据库权限。
目录前言技术方案具体代码使用异常代码运行结果----前言最近搭建java项目需要进行全局异常的捕获,用于在没有进行异常处理的时候,进行异常报警的处理。...技术方案使用shiro框架的全局异常处理,前置请求处理adviceRequest;具体代码/** * * 全局异常处理器 * * @author like.ma */@RestControllerAdvicepublic..."'请求"); return AjaxResult.error("不支持' " + e.getMethod() + "'请求"); } /** * 拦截未知的运行时异常...:" + e); LogUtil.WriteErrorLog(e,"运行时异常:" + e.getMessage()); return AjaxResult.error("运行时异常...message = e.getAllErrors().get(0).getDefaultMessage(); return AjaxResult.error(message); }}使用异常代码
mysql datetime查询异常 异常:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp (2011-...Datetime类型字段,查询时程序报以下错误: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 解决方法:数据库连接串添加...zeroDateTimeBehavior参数或者noDatetimeStringSync参数jdbc:mysql://host:port/xxx?......zeroDateTimeBehavior:取值exception、converToNull、round exception---抛出异常:结果java.sql.SQLException: Value
结果,最后问了一连串的项目实战问题,其中一个问题就是:如何在不重新复制整个库的情况下,添加新数据库到MySQL主从复制环境?结果。。。...问题阐述 明确问题 面试官的问题比较明确:如何在不重新复制整个库的情况下,添加新数据库到MySQL主从复制环境?...面试官问的是 如何添加新数据库到MySQL主从复制环境,注意:这里说的是数据库,而不是MySQL实例。添加数据库和MySQL实例是两种完全不同的方式,所以,一定要先理解面试官的意思,再进行回答。...添加数据库 比如我们要增加一个数据库在master服务器上,比如,名为newdb的数据库。具体操作如下: (1)从服务上,停掉slave数据库。...(3)修改主服务器my.cnf文件 主服务器上,修改my.cnf文件,添加新库到binlog-do-db参数,重启mysql。
创建脚本 1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.UNIQUE...(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column` ) 3.INDEX(普通索引) mysql>ALTER TABLE `...table_name` ADD INDEX index_name ( `column` ) 4.FULLTEXT(全文索引) mysql>ALTER TABLE `table_name`...ADD FULLTEXT ( `column` ) 5.多列索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1
领取专属 10元无门槛券
手把手带您无忧上云