Currently browsing category

Database

Linux Ext4 文件系统对 MySQL 性能的影响

最近要做一个 MySQL 数据库迁移,就是将一个 MySQL 中的数据迁移到另外一个 MySQL 数据库中。我们碰到了一个 Ext4 文件系统 barrier 的问题。Linux Ext4 文件系统默认开启了 barrier,我们可以在 man mount 里看到下面的这段话

The ext4 filesystem enables write barriers by default.

默认开启的 barrier=1 会极大的影响 MySQL 的性能,约三倍左右。
我做了一个实验测试 barrier=1 对 MySQL 性能的影响。
阅读全文 “Linux Ext4 文件系统对 MySQL 性能的影响” »

重设 MySQL root 密码

最开始的时候其实并不是想重设 MySQL 的 root 密码,我们需要在一个新的 CentOS 上安装 MySQL。于是我们下载了最新的 MySQL 5.6.15 rpm 包。可是我们安装完后,按照以往的初次安装 MySQL 设置密码的方式,怎么也无法登陆 MySQL。删除数据目录重装后也没有用。于是当时我们就只好重设了 root 的密码。这个错误犯的太乌龙了,下次安装软件的时候,一定要浏览对应版本号的官方安装文档,即便是以前有过安装这个软件的经验

在讲如何重设密码之前,我们先看下 MySQL 的 rpm 包是如果处理 root 密码的吧。从 MySQL 5.6.8 开始,新的 rpm 安装包在安装的时候,会在调用 mysql_install_db 时加上参数 –random-passwords。这意味着 MySQL 会为 root 账号生成一个随机的默认密码(存放在 $HOME/.mysql_secret,一般情况都是 /root/.mysql_secret),并且将 root 标记为密码已过期,同时删除匿名账号。

我们在初次安装 MySQL 之后需要使用随机生成的密码登陆 MySQL,然后使用 SET PASSWORD 设置新的密码才能正常使用 MySQL。
更多详细的信息可以查看 MySQL 官方的安装文档: Installing MySQL on Linux Using RPM Packages

下面我们讲如何重设 MySQL root 密码。

第一种方法
阅读全文 “重设 MySQL root 密码” »