
mysql
这一切没有想象那么糟
游戏开发,数据分析,机器学习,萌娃的爸爸
展开
-
mysql之查看数据库和表使用情况
需求我们在选购服务器硬盘时,通常需要先估算一下数据量。比如我们现在做的项目,百万级用户,然后在现有的数据结构中插入一万条数据,然后根据相应的需求去计算出实际生产中的数据量。前言在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访原创 2020-08-24 09:52:20 · 1515 阅读 · 0 评论 -
MySQL插入emoji表情失败总结
失败场景用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x90\x9B’失败原因mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。解决方案一. 修改database、table、column字符集转载 2020-08-07 10:55:42 · 1111 阅读 · 0 评论 -
mysql之唯一约束(UNIQUE KEY)
在MySQL数据库中,经常会碰到由于业务需要添加唯一键约束,唯一键约束,可以在一个列上添加约束,也可以在多个列上添加唯一约束。单列唯一约束在一列上添加唯一约束,主要是让该列在表中只能有唯一的一行,例如注册邮箱时的邮箱名、手机号等信息,相关操作如下:建表时加上唯一性约束:CREATE TABLE `t_user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(18) NOT NULL unique, `原创 2020-07-31 10:45:54 · 22920 阅读 · 0 评论 -
mysql之自带数据库
自带的4个系统数据库:information_schema、mysql、performance_schema、sys;information_schema:这个数据库保存了mysql服务器所有数据库的信息。比如数据库的名、数据库的表、访问权限、数据库表的数据类型,数据库索引的信息等等。performance_schema:主要用于收集数据库服务器性能参数,可用于监控服务器在一个较低级别的运行过程中的资源消耗、资源等待等情况。sys:库中所有的数据源来自:performance_schem原创 2020-07-02 11:06:37 · 407 阅读 · 0 评论 -
mysql之慢查询
查询命令原创 2020-05-14 16:13:00 · 119 阅读 · 0 评论 -
mysql之备份和还原
前言在服务器进行数据传输、数据存储和数据交换,就有可能产生数据故障。比如发生意外停机或存储介质损坏。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失,造成的损失是无法弥补与估量的。所以要进行及时备份数据命令1. 备份 格式: mysqldump -u用户名 -p 需要备份数据库名 > 导出路径(*.sql) 实例: mysqldump -uroot -proot crmpro > d:bak.sql 缺点: 通过命令备份的只有表结构和数据,没有建库语原创 2020-05-14 15:24:26 · 209 阅读 · 0 评论 -
mysql之用户权限
命令1. 创建用户 语法: create user '用户名'@'主机名' identified by '密码'; 注意: 主机名:限定客户端登录ip 指定ip:127.0.0.1 (localhost) 任意ip:% 2. 授权用户 语法: grant 权限1,权限2... on 数据库名.表名 to '用户名'@'主机名'; 注意: 权限: select、insert、delete、update、create... all 所有权限 数据库名.转载 2020-05-14 15:20:35 · 196 阅读 · 0 评论 -
mysql优化之查询缓存
前言开启mysql缓存后,数据没有更新的情况下,相同的查询sql会使用缓存数据返回结果。在数据更新较少,类似查询较多的情况下,使用mysql缓存可以显著提升查询效率。mysql查询缓存参数设置have_query_cache表示是否支持查询缓存,YES表示支持query_cache_type表示缓存类型,OFF表示关闭查询缓存,ON表示开启查询缓存,DEMAND表示用户自定义查询缓存query_cache_limit表示支持的最大单条查询sql数据量query_cache_min_res_u原创 2020-05-14 15:16:05 · 392 阅读 · 0 评论 -
mysql 调优简介
前言MySQL调优思维导图在回想这些知识点的时候,是不是对你的知识点进行了一个回顾和梳理,查漏补缺,你也知道了自己知识点上的不足,是不是可以有针对性的进行学习呢?分库分表水平分表概念:以字段为依据,按照一定策略(hash、range等),将一个表中的数据拆分到多个表中。结果:每个表的结构都一样;每个表的数据都不一样,没有交集;所有表的并集是全量数据;场景:系统绝对并发量并没有上来,只是单表的数据量太多,影响了SQL效率,加重了CPU负担,以至于成为瓶颈。推荐:一次SQL查询优化原理分析原创 2020-05-14 11:59:37 · 312 阅读 · 0 评论 -
mysql之case-when
函数模板CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list]END CASE实例select `id`, `name`, `gender`, (case `gender`when 1 then '男'when 2 then '女'else '未知'end) as '性别',`count原创 2020-05-14 11:55:10 · 212 阅读 · 0 评论 -
mysql之group_concat
函数语法:group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )下面举例说明:select id,price from goods; 以id分组,把price字段的值在同一行打印出来,逗号分隔(默认)select id, group_concat(price) from goods group by id; 以id分组,把price字段的值在一行打印出来,分号分隔selec转载 2020-05-14 11:21:09 · 224 阅读 · 0 评论 -
mysql远程登录权限问题
远程登录问题mysql默认情况下,只允许localhost连接,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。实例 # 让newuser用户使用newpwd密码从IP:192.168.1.3主机链接到mysql服务器 mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'192.168.1....原创 2020-05-06 16:40:32 · 234 阅读 · 0 评论 -
彻底解决sql_mode=only_full_group_by
前言nodejs的一个项目,在新环境搭建的时候,报了错误、因为mysql用的是平台已有的版本,错误分析一、原理层面这个错误发生在mysql 5.7 版本及以上版本会出现的问题:mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql...原创 2020-02-25 13:13:48 · 3731 阅读 · 0 评论