关于事务设计的思考
很多人应该不懂吧,本篇无私奉献一下。 很多人都一定思考过事务的设计问题。我们一开始接触 关系型数据库 的时候就被教育,开启事务,A 转账给 B,A 账户减少钱,B 账户增加钱,要么成功,要么失败,不会只做一半。当时觉得好牛逼,这个怎么做到的,比如在任何一个环节断电了,那怎么办呢。后来才知道是数据库记录了事物日志,通过日志的方式实现了两件事情必须都成功或者都失败,但是对于这个日志还是不太明白怎么回事,觉...
MySQL 获取复制主服务器二进制日志坐标
。配置从服务器复制,必须提前确定主服务的当前二进制日志的坐标。从服务器启动复制进程的时候需要这些信息,从二进制日志中找到正确的点它才能启动处理事件。在从服务想要开启复制进程开始同步前,如果主服务已经有数据,必须先停止在主服务上处理语句,然后获取当前二进制日志文件坐标并在主服务允许执行语句前导出数据。如果不停止主服务执行语句,导出的数据和获取的主服务的状态信息会不匹配,最终数据不一致或者毁坏从服务的数据...
突发,网站刚刚挂了近一小时
再次被数据库刺痛了,什么时候干掉它-这样一个垃圾软件? 从 14:40 多一点到 15 点 20 多,网站由于数据库链接不上,挂了近一小时,什么时候我要彻底干掉数据量。原因可能是系统内存不足,直接干掉了数据库以保证系统运行,我去,你干什么不好,干数据库。...
如何让MySQL支持utf8mb4字符集
_name} modify column {column_name} varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;修改数据库表的字符集,如下示例:ALTER TABLE {table_name} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;遇到的...
UI设计用户体验之Wifi图标
,奋斗了,就不会很在乎这些了。姐姐家里的Wifi经常的坏,她自己也不太会弄,用3G流量的时候比较多。这次去他们家,我和哥哥将他们家的Wifi设置好了。可能是经常不用Wifi的原因吧,外甥女她更习惯使用数据流量。我跟她说,现在你们家有Wifi了,点击这个图标就可以打开使用了,可以节省流量。她有时候用了一会儿就关掉Wifi,然后用手机听歌,她的歌曲都是在线播放的,没有下载。后来我跟她聊天,她跟我说这个图标...
联合索引查询特别慢怎么办?
联合索引涉及到业务逻辑,其实已经超出数据库范畴,所以不用为妙,MySQL、MariaDB 是做不好的。 联合索引你知道多少呢?说实话,我找这个坑就花了很多时间,各种打日志,各种发布代码,线上测试,找到元凶不容易啊!遇到了一个特别慢的查询,耗时 300 多秒,其实是可以用上索引的,explain 显示可能可以用上,但是实际情况比较复杂,在不同的机器,不同的数据上测试效果完全不一样,看来 MySQL 对于...
Laravel框架之Migration使用教程
,比如 Migration,我第一次构建项目的时候,由于 Migration 太多,卡在那里半个小时没有反应,以为死掉了。 言归正传,开始 Migrations 教程。 Migration 是用来控制数据库版本的。 增加数据表,参数 --table 最好带上,命令如下: php artisan make:migration create_tableName_table --create=tableNa...
如何通过一条命令让Linux系统崩溃
如何一条命令让 Linux 系统崩溃,如何一条命令让系统不可用,如何一条命令清除所有数据。这个对于要离职的人来讲,是必须要学会的。即将离职的程序员,如果比较负责任的话,应该在离开前,将自己不再使用的电脑清理干净,如何一条命令清理硬盘,且看如下示例,用随机数擦除存储 sda 中的数据:dd if=/dev/urandom of=/dev/sda bs=4M 另一种方法就是直接格式化磁盘,可以使用 gdi...
MySQL 非法混合字符集等号操作异常
ration '='' in ...报错原因是因为搜索引擎快照界面是 gb2312 编码,使用这样的编码难道是为了节约存储?在网上找了很多资料,有人说使用 binary() 函数来解决报错,有人说修改数据库编码,让数据库的编码和 MySQL 的设置都保持一致。个人认为统一编码是不太好的做法,至少是不合适的,比如数据库个别表为了支持 emoji,使用的是 utf8mb4 编码,你总不能把所有的表都改成 ...
PDOException: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
认创建的密码为空的 root 账户,这个坑踩了很多次,很容易忽视的一个问题。这种设计的奇特之处在于,这种不需要密码的空账户,使用 mysql 命令登录,不论输入密码与否,不论输入什么密码,都能成功进入数据库。一些其他的语言数据库驱动则不适用这个,无需密码的账户,输入了哪怕是空密码,也无法访问到数据库,这样的报错,一下子难找出来。So,谁的问题,是语言的 MySQL 驱动设计问题,还是数据库的问题?...