
MySQL
文章平均质量分 59
小小华bk
心静下来,一切都会好的!!
展开
-
MySQL中随机获取数据以及效率
近期在研究MySQL中语句的效率问题,今天主要来说下随机取数据的语句我现在主要以users(userId,userName,password......)表(有一百多万条记录)为例:第一种:select * from users order by rand() LIMIT 1执行该sql语句,老半天没有反应,最后被迫手动停止执行 ,后来我查了一下MYSQL手册,里面针对RAND原创 2017-08-13 15:11:51 · 4805 阅读 · 0 评论 -
Mysql由于binlog日志格式问题出现主从复制数据不一致(5.0版本之前)
首先我们来熟悉下MySQL中的关键三种日志 重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog)重做日志:确保事务的持久性。redo日志记录事务执行后的状态,用来恢复未写入data file的已成功事务更新的数据。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启MySQL服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。回滚日志:...原创 2019-04-09 14:44:25 · 4456 阅读 · 1 评论 -
MySQL表的设计一些基本规则
1.主键主键可以使用bigint(20) unsigned也可以使用varchar,使用bigint,可以设置为自增主键auto_increment。使用varchar,要生成主键。2.gmt_create、gmt_modified在TB所有表中都添加gmt_create、gmt_modified字段,都是datetime类型。gmt_create表示记录创建时间,gmt_modifi...转载 2018-10-08 19:32:43 · 838 阅读 · 0 评论 -
MySQL开启慢查询日志输出(win系统)
找到mysql的安装目录,找到my.ini文件夹在[mysqld]处加入以下代码开启慢查询#开启慢查询slow_query_log = ON#log-slow-queries:代表MYSQL慢查询的日志存储目录,此目录文件一定要有写权限;# mysql5.6版本以上,取消了参数log-slow-queries,更改为slow-query-log-file,切记!!# 还需要加上 s...原创 2018-10-13 14:55:12 · 2090 阅读 · 2 评论 -
MySQL 建表时的四种key
mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的。1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的)。包括primary key, unique key, foreign key 等。 primary key 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性...转载 2018-09-28 10:29:54 · 21483 阅读 · 0 评论 -
MySQL数据备份(全库)
1.1、 mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:#MySQLdump常用mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql1.2、 mysqldum...原创 2018-09-27 10:53:20 · 2786 阅读 · 0 评论 -
存储引擎MyISAM 和 InnoDB
MyISAM 和 InnoDB 的基本区别1.InnoDB不支持FULLTEXT类型的索引。2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。3.对于AUTO...转载 2018-09-11 09:16:47 · 193 阅读 · 0 评论 -
The program ‘mysql’ can be found in the following packages:
Linux系统中MySQL启动成功但是通过mysql命令无法进入客户端报错:The program ‘mysql’ can be found in the following packages:* mysql-client-core-5.7* mariadb-client-core-10.0Try: apt-get install <selected package>...原创 2018-08-29 12:41:09 · 5402 阅读 · 0 评论 -
MySQL数据库远程连接创建用户权限等
一. 创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% password:该用户的登陆密码,密码可以为空,如果为空则该用户可以...转载 2018-08-13 16:44:14 · 1028 阅读 · 0 评论 -
Mysql中将字段按照特殊符号拆分后查找出指定的数据
下面是我的表结构,name下面的数据是一个一个用“|”符号连接起来的,今天来了个需求,需要用户输入name,然后到数据库中找到指定的那条数据,列如下面,用户输入c,就只能显示第一条的数据。下面是我写的sql:SELECT *FROM student tleft join( SELECT id,substring_index(substring_ind...原创 2018-08-03 14:02:25 · 3810 阅读 · 1 评论 -
Mysql中的递归层次查询(父节点下的所有节点)
在mysql中如何完成节点下的所有节点或节点上的所有父节点的查询? 在Oracle中我们知道有一个Hierarchical Queries可以通过CONNECT BY来查询,但是,在MySQL中还没有对应的函数!!! 下面给出一个function来完成的方法 下面是sql脚本,想要运行的直接赋值粘贴进数据库即可。本人此文章的环境为mysql5.0,现在高版本建立函数出错请参考 解决建立函数报错问...转载 2018-04-14 12:57:04 · 15919 阅读 · 6 评论 -
Mysql8解压版服务安装
解压文件配置系统环境变量(网上参考)配置初始化的my.ini文件的文件[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=C:\Program Files\MySQL# 设置mysql数据库的数据的存放目录datadir=C:\Program Files\MySQL\Data# 允许最大连接数max_con...原创 2019-06-25 08:59:38 · 826 阅读 · 1 评论