不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者:AlbertWen  添加时间:2015-01-12 22:37:06  修改时间:2025-04-28 08:19:29  分类:MySQL/Redis  编辑

在MySQL中创建函数时出现这种错误的解决方法:

set global log_bin_trust_function_creators=TRUE;

作者:AlbertWen  添加时间:2014-03-30 23:25:00  修改时间:2025-04-28 22:07:52  分类:MySQL/Redis  编辑

如果忘记了MySQL的root密码,可以用以下方法重新设置:

1、 KILL掉系统里的MySQL进程; 

killall -TERM mysqld

2、用以下命令启动MySQL,以不检查权限的方式启动; 

safe_mysqld --skip-grant-tables &   # 注意:执行后再按 回车键
作者:AlbertWen  添加时间:2014-11-10 11:20:27  修改时间:2025-04-23 05:27:56  分类:MySQL/Redis  编辑

MySQL SELECT ... FOR UPDATE 的 Row Lock 与 Table Lock

上面介绍过SELECT ... FOR UPDATE 的用法,不过锁定(Lock)的数据是判别就得要注意一下了。由于InnoDB 预设是Row-Level Lock,所以只有「明确」地指定主键,MySQL 才会执行 Row lock (只锁住被选取的数据) ,否则MySQL 将会执行 Table Lock (将整个数据表单给锁住)。

作者:AlbertWen  添加时间:2014-11-18 10:22:08  修改时间:2025-04-24 06:29:03  分类:MySQL/Redis  编辑

在修改/增加表字段的时候,发现很慢,

show processlist; 时, Waiting for table metadata lock 能一直锁很久。

alter table的语句是很危险的,在操作之前最好确认对要操作的表没有任何进行中的操作、没有未提交事务、也没有显式事务中的报错语句。如果有alter table的维护任务,在无人监管的时候运行,最好通过lock_wait_timeout设置好超时时间,避免长时间的metedata锁等待。

作者:AlbertWen  添加时间:2015-12-13 12:42:59  修改时间:2025-04-23 16:36:50  分类:MySQL/Redis  编辑

MySQL 5.6 在命令行输入密码,就会提示这些安全警告信息。

Warning: Using a password on the command line interface can be insecure.

作者:AlbertWen  添加时间:2014-10-28 13:57:48  修改时间:2025-04-23 15:40:46  分类:MySQL/Redis  编辑
作者:AlbertWen  添加时间:2014-09-30 13:20:41  修改时间:2025-04-19 04:33:49  分类:MySQL/Redis  编辑

有这么一段文字来描述“Memcached集群”

Memcached如何处理容错的?

不处理!:) 在memcached节点失效的情况下,集群没有必要做任何容错处理。如果发生了节点失效,应对的措施完全取决于用户。节点失效时,下面列出几种方案供您选择:

* 忽略它! 在失效节点被恢复或替换之前,还有很多其他节点可以应对节点失效带来的影响。

* 把失效的节点从节点列表中移除。做这个操作千万要小心!在默认情况下(余数式哈希算法),客户端添加或移除节点,会导致所有的缓存数据不可用!因为哈希参照的节点列表变化了,大部分key会因为哈希值的改变而被映射到(与原来)不同的节点上。

* 启动热备节点,接管失效节点所占用的IP。这样可以防止哈希紊乱(hashing chaos)。

作者:AlbertWen  添加时间:2014-08-04 22:50:00  修改时间:2025-04-23 23:41:49  分类:MySQL/Redis  编辑
作者:AlbertWen  添加时间:2015-01-05 14:08:05  修改时间:2025-04-30 12:00:36  分类:MySQL/Redis  编辑

场景

Mutex主要用于有大量并发访问并存在cache过期的场合,如

  • 首页top 10, 由数据库加载到memcache缓存n分钟;
  • 微博中名人的content cache, 一旦不存在会大量请求不能命中并加载数据库;
  • 需要执行多个IO操作生成的数据存在cache中, 比如查询db多次;

问题

在大并发的场合,当cache失效时,大量并发同时取不到cache,会同一瞬间去访问db并回设cache,可能会给系统带来潜在的超负荷风险。我们曾经在线上系统出现过类似故障。

作者:AlbertWen  添加时间:2014-08-04 11:07:25  修改时间:2025-04-23 06:02:50  分类:MySQL/Redis  编辑