MySQL
文章平均质量分 57
MySQL数据库使用方法与问题汇总
想养一只!
好好生活 慢慢相遇
展开
-
Mysql配置主从复制-GTID模式
是指把数据从一个Mysql服务器(主节点)复制到一个或多个Mysql服务器(从节点)中,会把主节点服务器中的所有数据库实例、特定数据库实例或特定表等,全部复制到从节点服务器中。原创 2023-11-08 17:22:25 · 1565 阅读 · 1 评论 -
MySQL根据中文汉字排序查询
这个时候可以发现数据是正确按照中文首字母进行排序的,是因为ORDER BY后面使用了CONVERT函数转换类型指定了gbk字符集,才能按照中文首字母正确排序。指定 people_name 列数据正序排序,可以明显看出姓名的排序错误,测**和蔡**应该排在第一位置才对,结果第一条数据是李**;在MySQL中当说到进行排序查询时,大家的第一反应就是使用。方法指定列进行排序,但是如果要指定列为中文数据按照首字母排序时,就会发现。我们先来测试下正常使用。方法排序的顺序其实是有问题的。原创 2023-04-26 18:02:03 · 1001 阅读 · 1 评论 -
MySQL全局锁、表级锁、行级锁介绍&演示(详细)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)等争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。全局锁就是对整个数据库实例加锁,加锁后整个数据库实例处于只读状态,提交的写入、更新、删除操作语句都会被阻塞。最典型的使用场景就是做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整性。原创 2023-04-14 17:05:29 · 1359 阅读 · 0 评论 -
Mysql关联查询的几种方式(详解)
在关系型数据库中,要进行多表查询,一般都会使用join连接。join连接的本质其实类似与集合的交并操作,Mysql实现关联查询常见的几种方式如下;A表B表。原创 2023-04-11 10:12:51 · 7169 阅读 · 2 评论 -
MySQL中CONCAT、CONCAT_WS、GROUP_CONCAT函数详解
ORDER BY column2 ASC\DESC]:表示根据column2的排序顺序拼接合并数据;[SEPARATOR seq]:表示column1数据的分隔符,如果没有写会默认已 ','分割;separator参数用来指定分隔符,且分隔符不能为null,否则返回结果也是null。函数可以指定排序顺序对数据进行合并,并且也可以忽略null值。函数用来拼接合并指定列的数据内容;函数用来拼接合并指定列的数据内容;原创 2023-03-31 15:01:18 · 471 阅读 · 0 评论 -
MySQL创建组合索引
大家都知道索引是用来优化的主要因素,对于少量数据索引的影响并不大,对于几十万或百万级别以上数据的时候,单列索引的性能也不是很理想,组合索引可以大大的减少开销。原创 2023-03-31 11:27:43 · 6707 阅读 · 1 评论 -
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
在初始化命令后面指定安装 **mysql** 使用 **mysqld --initialize** 命令初始化时,报错提示 :**[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details)**。原创 2022-12-19 10:05:35 · 311 阅读 · 0 评论 -
SQL查询本周过生日、下周过生日、接下来任意天数内过生日、接下来过生日的任意数量的数据
【代码】SQL查询本周过生日、下周过生日、接下来任意天数内过生日、接下来过生日的任意数量的数据。原创 2022-11-30 16:34:00 · 1292 阅读 · 0 评论 -
全国最新省市县区sql数据(拿来即用)
全国最新省市县区sql数据(拿来即用),文件内容直接复制粘贴在数据库运行即可原创 2022-11-24 12:45:24 · 2294 阅读 · 1 评论 -
mybatis中实现一个标签执行多个sql语句
在删除标签中想要添加另外三个sql实现主键重新排序的功能,这样一个delete标签里面一共是需要执行四个sql语句,测试的时候一直报错说语法有问题,但在数据库中测试sql又是成功的。原创 2022-11-21 15:10:33 · 2413 阅读 · 0 评论 -
在CentOS7下安装mysql5.7
一、安装YUM Repo1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。下载命令:wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm2、然后进行repo的安装:rpm -ivh mysql57-community-release-el7-9.noarch.rpm执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql原创 2020-11-11 18:23:45 · 327 阅读 · 0 评论 -
mysql主键重新排序,数据删除后设置主键数值重新排序
我mysql数据库中有张操作日志表,创建表时设置的主键ID是自动递增的,由于日志数据量较大,项目中又设置了定时自动清空部。为了解决该问题我使用了以下操作,当有数据删除后就使主键重新排序,一直保持主键从1开始排序递增。分过期日志数据,这样就造成日志表中主键不是从1开始记录的,并且主键递增会无限扩大。原创 2022-10-13 10:20:30 · 3444 阅读 · 0 评论 -
Mysql实用面试题
Mysql 架构器中各个模块都是什么(1)、连接管理与安全验证是什么?每个客户端都会建立一个与服务器连接的线程,服务器会有一个线程池来管理这些 连接;如果客户端需要连接到 MYSQL 数据库还需要进行验证,包括用户名、密码、主机信息等。(2)、解析器是什么?解析器的作用主要是分析查询语句,最终生成解析树;首先解析器会对查询语句的语法进行分析,分析语法是否有问题。还有解析器会查询缓存,如果在缓存中有对应的语句,就返回查询结果不进行接下来的优化执行操作。前提是缓存中的数据没有被修改,当然如果被修改了也会原创 2022-05-12 00:05:07 · 433 阅读 · 0 评论 -
mysql数据库中 join 和 left join 的区别
join等价于inner join内连接抄,是返回两个表中都有的符合条件的行。left join左连接,是返回左袭表知中所有的行及右表中符合条件的行。right join右连接,是返回右表中所有的行及左表中符合条件的行。full join全连接,是返回左表中所有的行及右表中所有的行,并按条件连接。通常情况下,left join肯定比inner join返回的行数多道。上面只是对各个连接方式的大致介绍,下面将具体分析下常用的join和left join的区别和含义left join(左联接) 返回原创 2021-02-06 09:33:41 · 15713 阅读 · 3 评论 -
执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法
当我在navicat中执行sql语句时,出现错误提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘sh.sys_stay_info.organization_id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with原创 2021-02-02 11:00:00 · 1561 阅读 · 0 评论 -
windows10下同时安装两个mysql服务的解决办法
本机原本是安装了mysql5.7.2版本数据库,但是后来由于别的原因,需要安装一个mysql8.0.23版本的数据库,在安装第二个过程中遇到了很多问题,因此记录以下。第一个mysql5.7.2版本的安装教程https://blog.csdn.net/weixin_45151960/article/details/109690959第一个mysql数据库的安装很简单,基本不出出现问题,只需要安装以上步骤安装都可以。第二个mysql8.0.23版本的安装教程第一步(下载mysql的zip压缩包)ht原创 2021-02-02 10:15:09 · 7872 阅读 · 12 评论 -
安装mysql Install/Remove of the Service Denied!错误的解决办法
在安装mysql过程中, 遇到Install/Remove of the Service Denied!错误的解决办法解决办法:打开cmd.exe程序的时候选择“用管理员身份打开”即可。原创 2020-12-29 11:24:32 · 393 阅读 · 0 评论 -
mysql 报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin
今天在窗口使用命令执行操作时,总是这个报错,一开始感觉莫名其妙ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin后来了解查询之后才找到解决办法解决办法1、 修改用户密码mysql> alter user 'root'@'localhost' identified by 'youpassword'; 或者 mysql> set pass原创 2020-12-29 11:23:14 · 217 阅读 · 0 评论 -
打开表时提示 Out of resources when opening file......错误解决
今天在使用Navicat打开数据库表时提示23-out of resources when opening file…错误。后来到网上查查找到了原因在mysql配置文件 my.cnf 中 找到open_files_limit增加它的值就行了我的原来是 open_files_limit = 50000后来给修改成 open_files_limit = 999999就OK了,如果还不行的话,就慢慢加大这个数值...原创 2020-12-28 17:04:44 · 2484 阅读 · 0 评论 -
mysql数据库使用命令导入sql文件
第一步:在数据库安装目录下打开cmd窗口第二步:输入命令登录数据库:mysql -u root -p 回车输入密码 回车第三步:创建数据库命令:create database 数据库名称;第四步:选择sql文件导入刚创建的库中:use sh;source sql文件路径;...原创 2020-12-24 14:51:29 · 521 阅读 · 0 评论 -
mysql服务正在启动或停止中,请稍后片刻再试一次的解决办法
出现以上原因是因为系统中存在残留的mysql 进程,所以会出现这个情况,现在只需要将残留的进程杀掉即可:输入 命令 :“tasklist| findstr "mysql"”此时执行 以下命令 来将其杀死:“taskkill/f /t /im mysqld.exe”...原创 2020-11-14 15:47:13 · 781 阅读 · 2 评论 -
忘记mysql登录密码怎么办
解决办法:以win系统为例:1、在my.ini配置文件中的【mysqld】下面添加一句话即可skip-grant-tables2、然后重启mysql服务,这时登录是免密码验证的,进去之后修改密码:update mysql.user set authentication_string=password("root") where user="root";3、刷新账户flush privileges;4、配置文件中去掉skip-grant-tables重启mysql,登录即可...原创 2020-11-14 15:43:36 · 296 阅读 · 1 评论 -
连接MySQL数据库提示:1130-Host *** is not allowed to connect to this MySQL server
这是由于Mysql配置了不支持远程连接引起的。解决办法:1、’在安装Mysql数据库的主机上登录root用户:mysql -u root -p密码2、依次执行如下命令:use mysql; select host from user where user='root';3、将Host设置为通配符%update user set host = '%' where user ='root';4、刷新flush privileges;5、使用navicat 成功连接至mysql原创 2020-11-14 15:37:01 · 3321 阅读 · 1 评论 -
在使用net start mysql命令时提示键入 net helpmsg 3523错误
在终端使用命令启动mysql提示3523错误。我是这样解决的,打开my.ini配置文件,然后选择另存为,保存的时候选择编码自己需要的编码格式即可。一般默认都是uft-8,所以出现这个错误的话可以尝试修改为ansi格式,然后用新的配置文件覆盖之前的文件即可...原创 2020-11-14 15:33:10 · 1392 阅读 · 0 评论 -
使用mysqld --install命令时出现MSVCR120.dll文件丢失错误
这个解决办法很简单,访问下面的官方网址,不要在别的地方随便下载https://support.microsoft.com/en-us/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package进去之后先找到自己的版本,x64还是x86;接下来找到地址为中国的然后点击后面的链接下载即可,如果点击没有反应,可以复制链接直接打开网页下载。下载好之后安装,然后打开运行即可,什么也不需要改动。...原创 2020-11-14 15:28:53 · 1977 阅读 · 2 评论 -
mysql数据库常见错误码大全
1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误1032:原创 2020-07-28 17:45:52 · 1611 阅读 · 0 评论 -
SQL语句中大于等于小于的写法
符号 替代符号 & & < < > > " " ' ' >= >= <= <=举例:查找状态大于等于原创 2020-07-28 14:06:51 · 19407 阅读 · 0 评论 -
索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化
索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化索引使用的限制条件,sql优化有哪些a,选取最适用的字段:在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOTNULL,b,使用连接(JOIN)来代替子查询(Sub-Queries)c,使用联合(UNION)来代替手动创建的临时...原创 2020-04-28 17:37:07 · 753 阅读 · 0 评论 -
Mysql 和oracle的区别
(1)对事务的提交MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮(2) 分页查询MySQL是直接在SQL语句中写"select... from ...where...limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询(3) 事务隔离级别 MySQL是r...原创 2020-03-15 15:12:32 · 202 阅读 · 0 评论 -
Mysql 存储引擎有哪些以及MyISAM和InnoDB区别
1、InnoDB 存储引擎InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB 是默认的 MySQL引擎。2、MyISAM 存储引擎MyISAM 基于 ISAM 存储引擎,并对其进行扩展。它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度,但不支持事物。3、MEMORY 存储引擎MEMORY...原创 2020-02-29 17:34:30 · 423 阅读 · 0 评论 -
数据库常用函数总结
聚合函数名称作用avg()返回的是指定组中的平均值,空值被忽略count()返回的是指定组中的项目个数max()返回指定数据中的最大值。min()返回指定数据中的最小值。sum()返回指定数据的和,只能用于数字列,空值忽略。group by()对数据进行分组,对执行完 group by 之后的组进行聚合函数的运算,计算每一组的值,最后...原创 2019-11-06 17:41:48 · 1755 阅读 · 0 评论