创建了类似以下的MySQL存储过程:CREATE PROCEDURE test_procedure()BEGIN DECLARE i int; DECLARE v_name VARCHAR(100); SET i = 0; WHILE i < 1024 DO SET v_name = CONCAT('中文字符_', i); INSERT INTO mytable(`na
2020.12.22 09:55
使用MySQL Workbench连接MySQL服务器时报错:Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not foundWindows方法一:进入mysql shell:
2020.03.30 22:12
MySQL执行一个存储过程,报错如下:ERROR 1615 (HY000) at line 406 in file: 'process.sql': Prepared statement needs to be re-prepared这个问题解决设计到以下两个变量:table_open_cache: 表高速缓存的大小table_definition_cache:表定义信息缓存一、问题定位查看Open
2020.03.25 22:15
MySQL设置变量有两种方式:会话变量和存储过程变量。1、使用set或select直接赋值,变量名以@开头例如:set @var=1; 可以在一个会话的任何地方声明,作用域是整个会话,称为用户变量。2、以declare关键字声明的变量,只能在存储过程中使用,称为存储过程变量。例如: declare var1 int default 0; 主要用在存储过程中,或者是给存储传参数中。两者的区别是: 在
2020.03.23 21:30
在MySQL workbench执行删除语句:delete from mytable where name != '' && name is not null;执行后,workbench提示:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE
2020.03.23 21:01
以下为MySQL备份数据库的sh脚本:#!/bin/bash# Shell script to backup MySQL database# 设置数据库连接变量MyUSER="" # DB_USERNAMEMyPASS="" # DB_PASSWORDMyHOST="" # DB_HOSTNAME# 备份数据的目标目录DEST="" # /home/username/backups/DB# 邮件通
2020.03.18 21:47
SpringBoot项目集成JPA,运行起来时报No Identifier specified for entity错误,具体如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path re
2020.03.18 20:51
MySQL创建一个包含很多字段的表报错:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.
2020.03.03 22:25
INSERT INTO TABLE1 ( field1, field2, field3, ···) SELECT value1, value2, value3, ···from TABLE2WHERE 1 = 1
2020.03.03 18:18
house表:create table house (address varchar(200) not null, heating varchar(50));表中有两个字段,address地址,不能为null,凉爽程度heating 可以为null。插入记录:insert into house values ('A', null),('B','hot');in查询语句:select address
2020.03.02 22:25
首先,使用创建账号的用户登录MySQL,如root用户:mysql -u root -p第二,创建一个新的账号CREATE USER 'readuser'@'%' IDENTIFIED BY 'secret';其中,百分号“%”表示用户可以从任何ip的客户端登陆,如果要限定指定的ip登陆,只需要把百分号"%"改为指定的ip即可。第三,授权用户只能执行select语句GRANT SELECT ON
2019.08.28 23:16
MySQL的Event可以用来设置定时任务。MySQL配置开启Event定时任务功能MySQL默认是关闭定时任务这个功能,在我们开始设置定时任务前,先检查下MySQL是否已经开启此选择show variables like '%event_scheduler%';如果为Off,两种方式可以对它进行修改 1. set语句(当前启动的实例有效,重启后无效)set global event_sched
2019.08.23 07:22
安装MySQL 8,同时驱动也改为了8.0.16<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version></dependency&
2019.07.21 18:35
欢迎使用码经笔记,简单用法如下:1、编辑器工具栏在哪里?请随便选择文本试一下。2、怎么上传图片?请回车换行试一下。3、发布点击右上角的发布按钮发布笔记。建议和问题可以发邮件到pr@majing.io。期待您的参与和宝贵意见。Enjoy it!!!
2018.12.28 20:23
在Linux使用命令行工具curl发送JSON数据需要把content-type设置为“application/json”。-H "Content-Type: application/json示例curl -H "Content-Type: application/json" -X POST -d '{"username":"jack","age":10}' http://example.com/
2018.07.27 17:58
安装MySQL 8,用root用户在MySQL Workbench连接数据库是报错:Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found查询mysql库的user表
2018.05.07 16:01
MySQL设置utf8mb4需要客户端、到MySQL实例的连接、MySQL服务器都需要支持 utf8mb4 字符集。MySQL需要5.6+。JDBC连接JDBC 连接需要MySQL Connector/J 5.1.13以上版本,maven pom.xml配置:<dependency> <groupId>mysql</groupId> <artifa
2018.05.06 23:28
本文介绍基于Node.js和MySQL搭建一个简单的Rest API应用,认证基于JWT(JSON Web Token)。其他用到的技术包括:路由:Express,ORM/数据库:Sequelize, 认证:Passport。源码的Github地址:https://github.com/brianalois/node_rest_api_mysqlApp结构这里结合了标准的express app结构
2018.04.21 20:13
项目是基于Spring MVC + MySQL + Druid DataSource。在往数据库插入表情Emoji字符时报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xA9\x0D\x0A...'普通字符最多占用3个字节,使用utf8足够。而emoji表情字符占用4个字节,需要使用utf8mb4字符集存储。解决需要在
2018.04.18 23:37
1、先使用mysqldump备份数据库2、停止MySQL,并杀掉MySQL进程使用ps查找进程idps -ax | grep mysql3、使用HomeBrew分析MySQLbrew remove mysqlbrew cleanup4、删除文件sudo rm /usr/local/mysqlsudo rm -rf /usr/local/var/mysqlsudo rm -rf /usr/local
2018.04.18 18:25
使用jdbc连接MySQL,如果连接失效,可能会报类似的错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 84,371,623 milliseconds ago. The last packet sent suc
2018.04.18 16:07
需要注意的是,host和post需要分别配置。不能在host配置端口,如127.0.0.1:3306。如果把端口配置在host,会报类似的错误:Unknown MySQL server host 'mysql://127.0.0.1:3306' (1)default: &default
adapter: mysql2
encoding:
2018.03.28 10:15
这两个命令用于对正在运行的Docker MySQL容器做备份和恢复备份Docker MySQLdocker exec CONTAINER /usr/bin/mysqldump -u username --password=xxx DATABASE > backup.sql
从sql文
2018.03.10 18:06
Rails安装mysql2 gem:gem install mysql2
报错:Error installing mysql2: ERROR: Failed to build gem native extension.需要安装依赖的包。Ubuntu/Debian使用apt-get
2018.02.28 20:41
查看MySQL的事务隔离级别查看事务隔离级别SHOW VARIABLES LIKE 'tx_isolation';
查看全局的事务隔离级别SHOW GLOBAL VARIABLES LIKE 'tx_isolation';
使用系统变量查询SELECT @@global.tx_isolation;
SELECT&nbs
2018.01.27 22:57
在Mac上安装了MySQL 5.7.21,从Preferences启动MySQL时报错:Preferences Error. Could not load MySQL preference pane.Mac版本:Mac OS High Sierra (10.13.2)MySQL的
2018.01.24 19:25
MySQL提供了LAST_DATE函数用来获取日期所在月份的最后一天:LAST_DATE(date_col)
示例:mysql> SELECT LAST_DATE(NOW());
2018-01-31
2018.01.23 15:55
出于安全考虑,有时我们需要限定MySQL用户连接ip。使用授权语法grant可以帮我们完成对ip设置白名单。允许所有的ip访问:mysql> grant all privileges on mydb.* to 'myaccount'@'%';
其中'myaccount'@’%‘表示,允许账号myaccount在所有的ip上
2018.01.20 20:29
原来使用jdbc连接数据库的地址:jdbc:mysql://db.xxx.com:3036/mydb?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
数据库升级到MySQL5.7后,连接数据库抛出警告:WARN: Establishing SSL co
2018.01.19 11:37
在MySQL调用函数报错:ERROR 1370 (42000): execute command denied to user 'test'@'localhost' for routine 'mydb.myfunc'从错误可以看出,用户test是没有execute权限。添加授权mysql>&n
2018.01.18 11:25
在MySQL语句里,如果操作符应用于不同的类型的操作数,为了兼容让操作数兼容,MySQL会对操作数做类型转换,有些是自动的隐式转换。“+”号操作符使用“+”号相加的是字符串或字符串和数字,字符串会隐式转换为数字。以数字开头的字符串以数字开头的字符串,它会截取前面的数字字符串,转换为对应的数字。mysql> select '1a' + 1;
+-----
2018.01.16 19:12
MySQL修改用户的密码主要有两种方法:ALTER USER 和SET PASSWORDALTER USER 基本使用ALTER USER testuser IDENTIFIED BY '123456';
修改当前登录用户ALTER USER USER() IDENTI
2018.01.12 23:11
这里主要介绍在不知MySQL的root密码的情况下,使用--skip-grant-tables关闭MySQL服务器的认证,从而可以重置root的密码。MySQL版本为5.7。1、关闭MySQLsudo service mysqld stop
2、使用--skip-grant-tables 和 --skip-networking 重启MySQLsudo&nbs
2018.01.09 20:21
general log会记录下发送给MySQL服务器的所有SQL记录,因为SQL的量大,默认是不开启的。一些特殊情况(如排除故障)可能需要临时开启一下。开启MySQL的general logMySQL有三个参数用于设置general log:general_log:用于开启general log。ON表示开启,OFF表示关闭。log_output:日志输出的
2018.01.05 18:05
MySQL在批量插入数据,当数据量过大时,可能会报一下错误:Packet for query is too large (1344576 > 1048576 ). You can change this value on the se
2018.01.04 14:12
导出数据主要使用命令mysqldump导出整个数据库命令:mysqldump -u用户名 -p 数据库名 > 导出的文件名
示例mysqldump -udbuser -p mydb > mydb.sql
导出表命令:mysqldump -u用户名 -p 数据
2018.01.03 16:14
MySQL 5.7.8新增了Account Lock用于锁定账号。Account Lock可以在创建账号锁定,也可以使用ALTER USER语句进行锁定。创建账号时锁定mysql> CREATE USER 'demo'@'localhost' IDENTIFIED BY 'a123456'&n
2017.12.28 19:09
数据库mysql的user表里有三个字段用于控制用户密码过期的设置:`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`password_last_changed` timestamp NULL&nbs
2017.12.28 16:40
MySQL批量插入数据语法为:insert into my_table(field1, field2, field3)
values
("f1_vaule1","f2_vaule1","f3_vaule1"),
("f1_vaule2","f2_vaule2"
2017.12.20 22:06
已安装Visual Studio 2013 Redistributable,安装MySQL5.7.19时报错。错误信息:1: Action 13:23:11: INSTALL. 1: 1: MySQL Server 5.7 2: {F08E9C75-A42E-4962-8760-
2017.09.05 20:34