
Mysql
mysql 实战总结
独步秋风
这个作者很懒,什么都没留下…
展开
-
MySQL查看库下有多少张表
在对mysql 数据库进行迁移时发现有些外键表没有进行创建,想要对比下前后两个库下的表数量差别。原创 2022-11-16 15:52:49 · 5896 阅读 · 0 评论 -
MySQL查看数据库、表占用磁盘大小
查询所有数据库占用磁盘空间大小selectTABLE_SCHEMA,concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tablesgroup by TABLE_SCHEMAORDER BY data_size desc;单个库磁盘占原创 2022-04-16 12:10:00 · 4649 阅读 · 1 评论 -
Centos7.x安装mysql5.6
安装源从中科大的镜像网站上获取,官网下载太慢地址:https://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6/选择安装包:MySQL-5.6.50-1.el7.x86_64.rpm-bundle.tar安装上传介质至服务器并解压[root@instance-g0wuu7jx aa]# tar xvf MySQL-5.6.50-1.el7.x86_64.rpm-bundle.tar MySQL-client-5.6.50-1.原创 2021-02-20 16:54:39 · 488 阅读 · 0 评论 -
MySQL登录时出现 Access denied for user ‘root‘@‘xxx.xxx.xxx.xxx‘ (using password: YES) 的原因及解决办法
场景一:调试web程序访问数据库的时候出现场景二:MySQL登陆的时候,区分本地localhost登陆,以及远程登陆。即使本地能够登陆,如果不授权也无法远程登陆分析原因:(区分)当本地出现这样的情况,就是密码错误,找到正确的密码或者修改密码;当远程登陆的时候,首先确定登陆密码是否正确,第二确定是否远程授权。针对以上两种情况,给出解决方案。情况一解决方案:修改本地数据库密码方法1: 用SET PASSWORD命令首先登录MySQL。格式:mysql> set password f..转载 2021-02-06 18:31:48 · 8169 阅读 · 0 评论 -
Mysql与Oracle区别
Mysql与Oracle区别文章分类:数据库周五去一家公司去面试,那公司经理问了关于Mysql与Oracle的区别问题,以前没有总结,回答也不是很好,只是凭感觉,先总结如下:1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。2. Oracle支持大并发,大访问量,是O转载 2016-10-31 22:58:37 · 292 阅读 · 0 评论 -
mysql desc asc基本命令总结
Sql代码 asc 按升序排列 desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首转载 2016-10-30 23:51:10 · 1570 阅读 · 0 评论 -
MYSQL错误:Error Code: 1175解决办法
背景当手工删除表未加where条件时提示报错,看错误码是对sql做了安全校验解决方式取消安全校验 set sql_safe_updates =0;查看原创 2021-01-26 16:49:29 · 1234 阅读 · 1 评论 -
SQL规范检查
序号 规则 规则等级 数据库类型 1 Update/Delete需要带上where条件 error Mysql 2 不允许使用Truncate table语句 error Mysql 3 Update/Delete不允许带limit条件 error Mysql 4 Update/Delete不允许带orderby条件 error Mysql 5 不使用“SELECT *”这样的语句 er原创 2020-11-30 16:16:26 · 2156 阅读 · 0 评论 -
DQL、DML、DDL、DCL的概念与区别
SQL(Structure Query Language)语言是数据库的核心语言。SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R时改为SQL。1979年-----Oracle公司发表第一个基于SQL的商业化转载 2017-08-20 19:29:26 · 236 阅读 · 0 评论 -
Sql中几种删除操作的区别
1.DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。2.TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。TRUNCATE 只能对TABLE;DELETE可以是table和view3.DROP则删转载 2017-08-20 16:40:39 · 9028 阅读 · 0 评论 -
char、varchar、varchar2区别
char varchar varchar2 的区别 区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效转载 2016-11-08 10:49:19 · 349 阅读 · 0 评论 -
Union和Union All到底有什么区别
以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证:Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 下面进行简单的测试(因为是测试,所以sql代码写的很简单,没有什么很严格的规范,转载 2016-11-08 09:33:56 · 23593 阅读 · 6 评论 -
高手详解SQL性能优化十条经验
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列转载 2016-11-07 21:03:32 · 279 阅读 · 0 评论 -
浅谈MySQL中优化sql语句查询常用的30种方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中转载 2016-11-07 20:59:33 · 274 阅读 · 0 评论 -
MySQL登录时出现 Access denied for user ‘PT90‘@‘xxx.xxx.xxx.xxx‘ (using password: YES) 的原因及解决办法
MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法。# mysql -u root -h 192.168.194.142 -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'192.168.194.142' (using password: YES)解决办法1. 先用localho.原创 2020-12-08 16:46:49 · 407 阅读 · 0 评论 -
MySQL主主模式+Keepalived高可用
今天闲来无事,打算搭建一个MySQL的高可用架构,采用的是MySQL的主主结构,再外加Keepalived,对外统一提供虚IP。先来说说背景吧,现在的项目为了高可用性,都是避免单节点的存在的,比如,我们的应用程序,都是部署多个节点,通过Nginx做负载均衡,某个节点出现问题,并不会影响整体应用。那么数据库层如何搭建高可用的架构呢?今天我们就来看看。整体架构MySQL采用主主结构,我们使用两台机器就够了,然后再这两台机器上再安装Keepalived,使用vrrp技术,虚拟出一个IP。两台机器如下:转载 2020-11-27 10:29:42 · 406 阅读 · 0 评论 -
mysql8.x 新版本jdbc连接方式
需要使用高版本的JDBC驱动,“mysql-connector-java 8”以上版本。1. JDBC driver 由“com.mysql.jdbc.Driver”改为“com.mysql.cj.jdbc.Driver”。2. JDBC url为:jdbc:mysql://localhost/rs_report?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC3. ..原创 2020-11-12 16:34:27 · 2436 阅读 · 0 评论 -
java获取系统时间和mysql数据库时间相差14小时
前言mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。问题现象java应用程序获取当前时间new Date() 存储数据库时,和系统时间相差14小时。问题分析1、服务器时间不同步使用命令:date,查看linux服务器时间[root@abc ~]# dateSat Mar 7 18:43:30 CST 2020服务器的机器时间没有问题2、程序问题uLog.setLogTime(new Date());程序是使原创 2020-11-12 15:51:47 · 1318 阅读 · 0 评论 -
MySQL 新建用户,为用户授权,指定用户访问数据库
1.登录MySQLmysql -u root -p2.添加新用户(允许所有ip访问)create user'test'@'*'identified by'123456';(test:用户名,*:所有ip地址,123456:密码)3.创建数据库create database testdb;4.为新用户分配权限grant all privileges on `testdb`.* to'test'@'%'identified by'123456';5.刷新权限f...转载 2020-10-29 13:46:32 · 432 阅读 · 0 评论 -
Sql语句常用大全
前言:日常工作或学习过程中,我们可能会经常用到某些SQL,建议大家多多整理记录下这些常用的SQL,这样后续用到会方便很多。笔者在工作及学习过程中也整理了下个人常用的SQL,现在分享给你!可能有些SQL你还不常用,但还是希望对你有所帮助,说不定某日有需求就可以用到。注:下文分享的SQL适用于MySQL 5.7 版本,低版本可能稍许不同。有些SQL可能执行需要较高权限。1.show相关语句查看实例参数 例如:show variables like '%innodb%';s...转载 2020-10-08 10:59:29 · 335 阅读 · 0 评论 -
CentOS7下MySQL的安装与配置
安装环境:CentOS7 64位,MySQL5.71、配置YUM源在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/1. # 下载mysql源安装包2. shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm3. # 安装mysql源4. shell> yum localinstall my.原创 2020-06-17 13:58:08 · 306 阅读 · 0 评论 -
mysql配置优化(windows10 下my.ini) 参数设置
(1)、max_connections:允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。(2)、record_buffer:每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)(3)、key_buffer_size:原创 2020-06-11 15:28:43 · 1974 阅读 · 1 评论 -
win7&win10 mysql每次弹出安装会话框
现象:mysql每天定时会弹出一个安装会话框,如下图原因:这是在安装mysql服务是一路next默认设置了一个定时的触发器,可以选择关掉,目前没机没发现什么问题解决方法:打开空值面板搜索关键词 "管理工具",打开任务计划程序,展开任务计划库,将mysql的触发器关掉(右键禁用)即可完!...原创 2020-04-29 14:15:22 · 662 阅读 · 0 评论 -
A PRIMARY KEY must include all columns in the table’s partitioning function
这个是今天在学习 mysql 的建分区数据表时,遇到的一个问题,会提示:A PRIMARY KEY must include all columns in the table’s partitioning function如果分区字段没有包含在主键字段内,如表A的主键为ID,分区字段为createtime ,按时间范围分区,执行会出上述的错误,代码如下:CREATE TABLE ...转载 2020-02-13 11:11:14 · 12782 阅读 · 2 评论 -
MySQL函数-日期和时间函数
时间函数对应mysql版本5.7,低版本未测1、获取当前日期的函数,返回格式"YYYY-MM-DD"mysql> select curdate(),current_date();+------------+----------------+| curdate() | current_date() |+------------+----------------+| 2019...原创 2019-10-30 16:46:43 · 462 阅读 · 0 评论 -
MySQL中REGEXP正则表达式使用大全
以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助。MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2。请参见附录C:感谢。MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作。请...转载 2019-10-18 15:21:41 · 236 阅读 · 0 评论 -
mysql修改配置文件并重启生效
目录场景交代配置mysql环境变量修改mysql配置文件弯路正路场景交代公司场景需求需要mysql设置查询缓存,查阅了资料说是需要在my.ini配置文件中修改。添加查询缓存的配置项不适用于高并发、写入量较大的系统。拿自己本机的mysql做测试,版本5.7 。操作系统win10配置mysql环境变量默认你的mysql是已经配置好了环境变量的,没有配置好参考一下...原创 2019-04-17 11:18:31 · 11578 阅读 · 2 评论 -
MySql中启用InnoDB数据引擎的方法
1、存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySql默认配置了许多不同的存储引擎,可以预先设置或转载 2018-01-29 20:30:06 · 5344 阅读 · 0 评论 -
MySQL数据库基础备份
1、备份命令格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql例如: mysqldump -h 192.168.1.100 -P3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sql2、备份压缩导出的数据有可能比较大,不...原创 2019-09-24 16:26:43 · 430 阅读 · 0 评论 -
mysql索引类型 normal, unique, full text
问题1:mysql索引类型normal,unique,full text的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefull textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也...转载 2019-07-05 10:41:07 · 192 阅读 · 0 评论 -
Mysql误操作后使用binlog2sql快速回滚
一、总体解释:DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABL...转载 2018-05-08 22:56:12 · 1927 阅读 · 0 评论 -
mysql学习总结(一)---如何查看mysql的安装路径
内容: 如何通过mysql命令查看mysql的安装路径:一、通过mysql命令查看mysql的安装路径:有时候在我们开发的过程中难免需要查看一些安装工具的安装路径,但是我们安装的这么多工具,难免忘记安装的具体位置,这里就拿mysql为例子,使用mysql工具通过mysql目录去查看mysql的安装目录,使用的sql语句为:[sql]view plaincopyselect@@basedir...原创 2018-05-08 22:53:42 · 34024 阅读 · 1 评论 -
mysql切换用户
环境:MySql 5.51、切换用户: 第一种方法 1、dos进入mysql安装bin目录下: cd C:\Program Files\MySQL\MySQL Server 5.5\bin 2、输入:mysql <备注二> -u root -p db 3、输入用户密码----------------------------------------------...转载 2018-03-19 18:20:49 · 17984 阅读 · 0 评论 -
mysql显示所有用户
这是一个mysql初学者经常问到的一个问题,今天我们就带大家看看是如何在Mysql中显示所有用户的。通常我们在mysql中使用SHOW DATABASES可以显示所有的数据库,SHOW TABLES将会显示所有的数据表,那么你是不是会猜测显示所有用户的命令是SHOW USERS呢?不不不,并不是的,现在让我们一起来看看如何显示所有用户吧。在Mysql中显示所有用户1.登录数据库首先,你需要使用如下...转载 2018-03-19 17:16:35 · 3111 阅读 · 0 评论 -
Mysql更改默认引擎为Innodb的步骤方法
mysql默认是关闭InnoDB存储引擎的使用的,而Mysql默认引擎是MyISAM,而MyISAM并不支持事务处理,因为最近项目中的需要所以要更换引擎,通过查找网上的资料后解决了,现在将步骤方法分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。前言InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差转载 2018-01-29 20:31:58 · 1432 阅读 · 0 评论 -
MySQL如何选择表类型,MyISAM还是InnoDB?
1、存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySql默认配置了许多不同的存储引擎,可以预先设置或转载 2018-01-29 20:31:00 · 567 阅读 · 0 评论 -
如何查看MySQL的版本?
查看MySQL的版本,主要有以下几个方法:1. 没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysql的bin目录,运行下面的命令即可:e:\mysql\bin>mysql -Vmysql Ver 14.14 Distrib 5.6.32, for Win32 (AMD64)(版本为 5.6.32)或者:e:\mys转载 2018-01-31 22:03:18 · 617 阅读 · 0 评论 -
Oracle和MySql面试题
一ORACLE和MySQL的区别1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高Oracle。2. Oracle支持大并发,大访问量,是OLTP最好的工具。(OLTP[联机事务处理])(OLAP[数据仓库处理 有了基础大数据后 根据数据分析 市场定位])3. 安装所用转载 2018-01-01 15:15:48 · 3448 阅读 · 0 评论 -
Mysql常用的数据类型以及转换函数
一 常用的数据类型 数字类型: int类型分类 1 tinyint 1字节 2 smallint 2字节 3 mediumint 3字节 4 int 4字节 5 bigint 8字节 float 浮点数 double 双精度 decimal 可以指定小转载 2018-01-01 14:18:43 · 504 阅读 · 0 评论 -
MySQL百万级数据库优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f转载 2017-12-16 23:56:37 · 284 阅读 · 0 评论