Category: MySQL
今天在一台安装了 MySQL 5.5 的主机上, 建立资料表时, 出现以下错误: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 要看到这个错误, 可以在 MySQL 5.5/5.6 (或 Mariadb) 上尝试执行以下指令建立数据库: # mysql …
以前 MySQL 的 “RENAME DATABASE” 指令, 已经在 5.1.23 后的版本删除, 原因是重新命名数据库时存在资料遗失的风险。 以下示范用 “RENAME TABLE” 指令及 mysqldump 指令, 替数据库重新命名的方法: RENAME TABLE 这个方法适合数据库比较大的情况, 但缺点是需要对每个资料表逐一执行。 先建立一个空白的数据库, 名称用要变更的数据库名称, 以下假设旧数据库是 oldname; 新数据库是 newname: 然后把资料表逐一用 RENAME …
MySQL 及 MariaDB 要检视已开启的连线数目, 可以用 MySQL 的 “show status” 指令查询。 “show status” 会显示 MySQL 执行时的一系统状态, 其中也包括了已开启连线数目。 首先登入 MySQL / MariaDB: $ mysql -u root -p Enter password: 登入 MySQL …
以下文章会介绍将 MySQL / MariaDB 转移到新主机的方法, 在转移前最好确定两台主机安装的 MySQL / MariaDB 版本相同, 这样出问题的机会会较少。 要完整转移 MySQL 服务器, 包括所有 MySQL 数据库、使用者帐号及权限到新主机, 只需将 MySQL 的资料目录及 my.cnf 复制到新主机, 并设定权限即可, 复制资料到新主机可以用 Rsync 完成, 可以参考以下文章: rsync 透过 …
在连接 MySQL 时, 虽然使用 localhost 或 127.0.0.1 都是连接到本机, 但连接的方式本质上是不同的。 连接 MySQL 时如果不加上 -h 参数, 会使用默认的 localhost 连接 MySQL, 而透过 localhost 连接 MySQL 是使用 Unix Socket (/var/lib/mysql/mysql.sock), 没有使 TCP/IP, 所以没有经过网络卡, …
在 RHEL 及 CentOS 7 开始, 默认的数据库系统是 MariaDB, 基本上 MariaDB 可以取代 MySQL, 但如果仍然想继续用 MySQL 的话, 除了可以编译 MySQL Community Server 的原始码外, 也可以安装 Oracle 提供的官方 YUM repository, 那便可以透过 Yum 安装 MySQL …
MySQL 的 Query Cache 在某些环境是有一定作用的,但大部份的情况都没什么作用,而且反而会影响效能。 当 MySQL 执行 SELECT 查询时,会将结果放到 Query Cache 内,当下次执行相同的 SELECT 查询时,不会在数据库查询结果,而会在 Query Cache 取得,从而提高执行效率。 这样听起来不错,但实际上 Query Cache 的机制有一个问题,就是当资料表被更动后,储存在 Query Cache 的 Cache 会失效,MySQL 会在背后将 Cache …
MySQL 或 MariaDB 的 Log 记录档可以纪录 MySQL 的错误, 对服务器的除错很有用, 但这个 MySQL Log 记录档跟其他 log 一样, 不理它会一直增大容量, 而 MySQL 内置没有记录档轮替的功能, 要做记录档轮替需要借用其他工具, 可以是自行编写 Shell Script 或 logrotate, 以下文章会示范在用 logrotate 将 MySQL …
在 MySQL / MariaDB 插入资料时,每笔资料也会有限制,默认值是 16MB,其实这个 16MB 的限制已经很宽松,一般情况都会够用,但如果将档案 (例如图片) 直接储存在 MySQL 的话,便有可能出现错误,当用 inert 插入 或 update 更新的资料超过限制的话,会出现以下错误: Error 1153 – Got a packet bigger than ‘max_allowed_packet’ bytes 要解决这个问题可以修改 MySQL …
phpMyAdmin 是十分流行的 MySQL 数据库管理系统,可以透过网页接口管理 MySQL 数据库,提供建立、编辑、删除数据库及资料表,也可以管理使用者及其权限。以下文章会介绍在 RHEL, CentOS 用 yum 安装 phpMyAdmin 的方法。 在安装 phpMyAdmin 前,需要先系统安装好 Apache, PHP 及 MySQL (MariaDB),确定安装好后便可以开始进行安装。 1. 加入 EPEL Repository 在 CentOS 默认的 Repository …