mysql
文章平均质量分 89
延迟满足
热爱新技术,喜欢研究原理,感受设计之美。
展开
-
Mac 环境下使用 homebrew 安装和彻底卸载 MySQL5.7
一、安装 MySQL5.7在终端执行下列命令:brew install mysql@5.7使用 brew 安装好 MySQL 5.7 版本后,此时 MySQL root 用户的密码是空的。我们需要修改一下 MySQL root 用户的密码,步骤如下:在终端执行下列命令:/usr/local/opt/mysql@5.7/bin/mysql.server start执行完该条命令后,MySQL 就被启动了起来在终端执行下列命令:/usr/local/opt/mysql@5.7/bin/mysq原创 2021-03-05 20:52:11 · 2559 阅读 · 1 评论 -
mysql 中文乱码问题解决(复制粘贴就可以解决)
问题出现中文乱码一般是有三处的编码不统一:mysql 客户端character_set_client与程序的链接处character_set_connectionmysql 的服务端character_set_server具体怎么查看这三处的编码可以在 mysql 的 cmd 中执行下面这条命令:show variables like 'character%';解决办法解决过...原创 2019-10-02 11:53:45 · 1137 阅读 · 0 评论 -
MySQL char 与 varchar 的底层区别
前言以 char(64) 、varchar(64) 为例来说明这个问题。分两个角度来讲1. 磁盘char(64) 不管你字符实际用了几个字符,磁盘存储都需要 64 个字符的存储空间。varchar(64) 是根据这个字段实际占用了多少个字符去存储磁盘的。2. 内存在内存中它们两者没有什么区别。都是占用 64 个字符的内存空间。所以平时在建字段的时候建议不要把 varchar(M) ...原创 2019-09-21 16:18:14 · 908 阅读 · 0 评论 -
MySQL 数据库各种类型对应的存储字节大小
背景学东西还是看官网呀,大家意会一下。对应关系图1. 数字类型2. Date、Time 类型3. 字符类型参考链接https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html...原创 2019-08-27 09:49:41 · 2683 阅读 · 0 评论 -
mysql 常用 sql
今天遇到一个问题,就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,百度了一下,发现对于这种情况,可以采用order by 字段名称+0 desc/asc的形式进行排序(亲测有效)----这样mysql会将数值字符串类型的数据当作数值进行处...转载 2019-06-27 15:49:35 · 116 阅读 · 0 评论 -
高版本数据库文件导入低版本 mysql 的解决方法(附带工具)
概述在数据转移的过程中,偶尔会碰到高版本数据库需要转移到低版本数据库的情况。一般情况下,低版本无法识别高版本的数据库文件,容易报错。比如:我把 mysql 5.5 的数据库信息想转移到 mysql 5.0 的版本上,导入 sql 过程中报错,我又不想把 mysql 5.0 升级。(重装 mysql 太恶心了)如何解决呢使用数据库管理软件Navicat for MySQL (注意有的版本中并没...转载 2019-05-11 10:53:03 · 4417 阅读 · 0 评论 -
意向锁到底是什么
产生原因解决表锁与之前可能存在的行锁冲突,避免为了判断表是否存在行锁而去扫描全表的系统消耗。作用一种快速判断表锁与之前可能存在的行锁冲突的机制。(数据库会帮我们自动加)行锁在加锁前要先加意向锁。意向锁是一种表锁。例子分析事务 A 锁住了表中的一行,让这一行只能读,不能写。之后,事务 B 申请整个表的写锁。如果事务 B 申请成功,那么理论上它就能修改表中的任意一行,这与 A 持有...原创 2019-01-21 23:24:06 · 9611 阅读 · 8 评论 -
解决远程连接服务器端 Mysql(Mariadb)时报错 1045
原因 出现1045错误:1045 (28000): Access denied for user ‘root’@’192.168.0.57’ (using password: YES) 这个错误是在进行远程连接的时候密码正确,但是进行远程授权的时候授权密码错误在网上查了一下,原因是 mysql 没有授权远程登录解决方案进行远程登录授权mysql语句选择 mysq...原创 2018-07-18 17:53:27 · 6141 阅读 · 6 评论 -
mysql设计及封装无限层级的树状数据结构
数据库表设计给每条数据加个 parent_id字段,通过parent_id来建立数据之间的父子(层级)关系。 parent_id为0是根节点。 看下面这些数据感受一下他们之间通过parent_id建立起的关系 数据库查询语句通过父节点id查询出同级的节点<select id="selectChildrenCategoryByParentId" resultMap="...原创 2018-06-27 21:15:25 · 6616 阅读 · 4 评论 -
mysql中分组时将某个字段的值进行拼接
t_dog表 t_vaccine表 t_dog_vaccine表 问题描述我需要将dog_vaccine中每个狗相对应的疫苗查询出来,由于狗和疫苗是多对多的关系,一个狗可能对应多个疫苗,但我想把这多个疫苗用字符串拼接成一个,然后去映射到java实体类上。一步步解决我用了俩个左连接查询使得 t_dog表,t_vaccine表,t_dog_vaccine表这三个表关联了起...原创 2018-06-23 15:00:59 · 39126 阅读 · 6 评论 -
实现myql数据库的读写分离
数据库层面的主从配置实现 - 第一步 master主数据库将对数据的操作记录在binary log日志中,在每个数据进行事务更新之前,master会将这些事务串行写入在二进制日志中,在写入完成后通知存储引擎提交事务。 - Slave将master的二进制日志拷贝到Relay log日志中。I/Othread在master上打开一个普通的连接,将master中的二进制日志读取,然后写入到Re...原创 2018-06-04 13:32:59 · 402 阅读 · 1 评论 -
linux下mysql 重启命令
service mysqld restart原创 2018-06-03 22:12:04 · 6767 阅读 · 0 评论 -
datetime和timestamp的区别
1.时间的范围datetime支持的范围是:’1000-01-01 00:00:00’到’9999-12-31 23:59:59’timestamp支持的范围是:‘1970-01-01 00:00:00’到2037年2.性能问题timestamp会自适应目前机器所在的时区(就是会自动转化对应的时区)。...原创 2018-05-26 16:11:06 · 407 阅读 · 0 评论