Tag: MySQL

解决 MySQL 错误 – ERROR 1819 (HY000)

MySQL 5.7 为了增加系统安全性, 加入了 validate_password plugin, 可以自定 MySQL 使用者帐号密码的强度, 当建立 MySQL 帐号或者修改密码时, 密码强度不符合要求, 会出现以下错误: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements. 解决方法是设定一组比较复杂的密码, 以符合 MySQL …

MySQL / MariaDB 重新命名数据库

以前 MySQL 的 “RENAME DATABASE” 指令, 已经在 5.1.23 后的版本删除, 原因是重新命名数据库时存在资料遗失的风险。 以下示范用 “RENAME TABLE” 指令及 mysqldump 指令, 替数据库重新命名的方法: RENAME TABLE 这个方法适合数据库比较大的情况, 但缺点是需要对每个资料表逐一执行。 先建立一个空白的数据库, 名称用要变更的数据库名称, 以下假设旧数据库是 oldname; 新数据库是 newname: 然后把资料表逐一用 RENAME …

MySQL / MariaDB 转移到新主机

以下文章会介绍将 MySQL / MariaDB 转移到新主机的方法, 在转移前最好确定两台主机安装的 MySQL / MariaDB 版本相同, 这样出问题的机会会较少。 要完整转移 MySQL 服务器, 包括所有 MySQL 数据库、使用者帐号及权限到新主机, 只需将 MySQL 的资料目录及 my.cnf 复制到新主机, 并设定权限即可, 复制资料到新主机可以用 Rsync 完成, 可以参考以下文章: rsync 透过 …

为什么要关闭 MySQL Query Cache

MySQL 的 Query Cache 在某些环境是有一定作用的,但大部份的情况都没什么作用,而且反而会影响效能。 当 MySQL 执行 SELECT 查询时,会将结果放到 Query Cache 内,当下次执行相同的 SELECT 查询时,不会在数据库查询结果,而会在 Query Cache 取得,从而提高执行效率。 这样听起来不错,但实际上 Query Cache 的机制有一个问题,就是当资料表被更动后,储存在 Query Cache 的 Cache 会失效,MySQL 会在背后将 Cache …