mysql
_little_stone
Talk is cheap, show me the code.
展开
-
mysql主从复制原理
mysql主从复制原理 mysql主从复制涉及三个线程: log dump thread 运行在主节点; I/O thread 运行在从节点; SQL thread 运行在从节点。 log dump thread:当从节点连接主节点时,主节点会创建一个log dump线程,用于发送binlog日志,在读取binlog日志时,此线程会对主节点上的binlog加锁,当读取完成,发送给从节点前,锁才会被释放; I/O thread:当从节点执行start slave命令后,从节点会创建一个I/O线程用来连接原创 2021-04-18 16:07:00 · 1105 阅读 · 2 评论 -
mysql binlog
mysql binlog 二进制日志,记录了数据库上的所有改变,并以二进制形式保存在磁盘中,主要用于查看数据库的变更历史、数据库增量备份与恢复、主从复制等。 binlog格式: statement 基于sql语句的复制 row 基于行的复制 mixed 混合模式复制 statement格式下,每一条数据修改的sql都会记录在binlog中,同时还会记录每条语句在执行时的上下文信息; row格式下,不记录sql语句的上下文信息,仅保存哪条记录被修改成了什么; mixed格式下,就是statement原创 2021-04-18 16:04:59 · 1056 阅读 · 0 评论 -
mysql事务隔离级别
mysql事务隔离级别 分为4种: 读未提交 读已提交 可重复读 序列化 可能出现的问题: 读未提交会出现赃读、不可重复读、幻读; 读已提交会出现不可重复读、幻读; 可重复读会出现幻读; 序列化不会出现以上问题。 脏读、不可重复读、幻读: 脏读就是一个事务可能读取到其他事务未提交的数据。 最容易混淆的是不可重复读和幻读的区别,mysql默认为可重复读隔离级别,也就是会出现幻读的情况,oracle默认是读已提交隔离级别,会出现不可重复读和幻读。 不可重复读和幻读的区别: 不可重复读重点在于更新和删原创 2021-04-18 16:02:08 · 1034 阅读 · 0 评论 -
Mysql count(1)、count(*) 与 count(‘列名‘) 的区别
区别如下: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL的数据行; count(1)忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL的数据行; count('列名')只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是指空字符串或者0,而是表示NULL)的计数,即某个字段值为NULL时,不统计。 分析: 最终统计结果count(*)和count(1)是没有区别的,count('列名')因为忽略了值为NULL的数据,所以可能比前两者原创 2020-12-11 11:10:44 · 1660 阅读 · 0 评论 -
mysql使用limit和offset实现分页
如题,话不多说,直接上代码: # 其中 page 是页码,pageSize是每页显示的条数。 select * from table_name limit (page - 1) * pageSize, pageSize; 注:通常我们使用框架进行开发的时候,框架已经帮我们做好分页的处理了,但是我们还是要知道它的原理的,上面的方式实现分页性能比较低下,更好的做法是采用id限定优化,这里不做赘述。 ...原创 2020-04-17 23:22:12 · 3311 阅读 · 0 评论 -
解决:处理软件包 mysql-server (--configure)时出错的问题
命令行执行mysql命令时出错,提示: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 原因是mysql配置文件有问题,避免麻烦,这里直接卸载重装,注意备份数据和自定义的配置文件。 依次执行如下命令 删除依赖包: sudo rm -rf /var/lib/mysql/ -R 删除配...原创 2020-03-22 14:47:29 · 3081 阅读 · 0 评论 -
mysql导入数据时产生:ERROR 1366 (HY000): Incorrect string value解决办法
执行以下命令: SET names utf8mb4; 完事,问题解决! 验证修改结果: SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variab...原创 2019-11-06 10:07:28 · 2115 阅读 · 0 评论 -
mysql左联接与右连接以及内连接的区别
MYSQL在进行多表操作的时候,经常需要进行使用到left join, right join, inner join等进行关联查询操作,下面是关于每种关联查询的详细介绍: 1.left join(左联接查询),返回所有左表的数据以及关联的右表的数据,如果右表的数据没有匹配上,则系统自动补上null值. 例: SELECT * FROM table1 table_name1 LEFT JOI...原创 2018-12-15 14:33:32 · 1214 阅读 · 0 评论 -
Java工程师成长之路——mysql创建新用户并赋予与root用户同等的权限
#创建新用户: CREATE USER 'username'@'%' IDENTIFIED BY 'password'; #赋予权限: GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 注:此修改仅支持mysql5.6及以下的版本,5.7版本后的密码字段不再是pas...原创 2019-03-31 11:14:25 · 3243 阅读 · 2 评论