Category: MySQL
好文分享: 10 MySQL settings to tune after installation 在 PERCONA MYSQL PERFORMANCE BLOG 看到这篇文章, 觉得很不错, 其中在文章开始时作者提到一些建议很实用。 — Change one setting at a time! This is the only way to …
MariaDB 10.0.x 版是以 MariaDB 5.5 为基础, 加上移植自 MySQL 5.6 版的功能和自行开发的新功能。以下会介绍在 RHEL 及 CentOS 用 YUM 安装 MariaDB 10.0 的方法。 首先建立 MariaDB 的 YUM Repository, 建立档案 /etc/yum.repos.d/MariaDB.repo, 根据不同的系统加不相关内容: RHEL / …
MySQL 热备份时如果没有停止 MySQL 或者变成唯读状态, 备份档有机会出现不连贯的问题。而 Percona XtraBackup 就是一个可以在 MySQL 不停机的情况下对进行热备份的开源工具, 而且可以选择完整备份或者增量备份。除了 MySQL 外, 它也支援 MariaDB 及 Percona Server。 由于 Percona XtraBackup 是借用 transaction log 进行备份, 所以热备份只适用于 InnoDB 的数据库, 如果数据库使用 …
MySQL 的 Master-Slave Replication (同步) 是当 Master 数据库有变动时, 自动同步到 Slave 数据库。由于 MariaDB 在 RHEL/CentOS 7 开始已经成为默认数据库, 而且可以完全取代 MySQL, 所以以下也会以 MariaDB 进行设定, 但同样方法在 MySQL 一样可以的。 假设已经有两台 MySQL 服务器, 以下两部份分别是 Master …
当用 mysqldump 备份 MySQL 或 MariaDB 数据库时, 如果出现类似以下报错: mysqldump: Got error: 145: Table ‘’ is marked as crashed and should be repaired when using LOCK TABLES 出现这个错误, 是资料表出现损坏, 可以尝试用 …
有时在 MySQL 新增资料时, 会先判断资料是否存在, 如果资料不存在会执行 INSERT 语句, 如果资料存在则用 UPDATE 语句。以前要这样做, 需要先用 SELECT 判断, 就像这样: 虽然可以完成上面提到的任务, 但写程式时就会较麻烦, MySQL 提供了 INSERT … ON DUPLICATE KEY UPDATE 语句, 可以一行就完成, 无需用 IF 及 …
有时需要在不同 MySQL 版本间做测试, 如果要在服务器内重启 MySQL 切换版本做测试会很麻烦, 以下纪录一下在服务器内安装两个 MySQL 同时运行, 当然如果有需要, 也可以按此方法安装 2 个以上的 MySQL。 以下假设第一个 MySQL Server 已经正常运作, 下面全是安装第二个 MySQL Server 的步骤: 1. 建立 MySQL 数据库目录: # mkdir /var/lib/mysql2 …
MySQL 的默认埠号是 3306, 要变更埠号可以有很多原因, 例如基于安全考量或者同时安全两个 MySQL Server 等, 以下是变更埠号的方法: 1. 开启 my.cnf 档案, Redhat 及 CentOS 开 /etc/my.cnf, Debian 放在 /etc/mysql/my.cnf。 加入以下这行到 段落, 如果已经有 port 的选项, 直接修改便可以, 下面会将埠号改为 3307: …
MySQL 数据库出现重复资料时, 找出重复资料的方法有很多, 以下介绍两种常用的方法: 找出重复的纪录, 以 cid 字段作为判断, 会输出 cutomer_id 及出现次数: SELECT cid, COUNT(*) FROM customer GROUP BY cid HAVING COUNT(*) > 1 不是显示出现次数, 而是将重复的资料全部输出: select * from customer …
这个 Perl Script 使用 mysqldump 备份 MySQL, 可以放到 crontab 自动执行。 程式需要按需要修改, 以下是需要修改的选项: $db_username: mysql 使用者名称 $db_password: mysql 密码 $db_host: mysql server 位置 $mysqldump: mysqldump 位置 $backup_dir: 储存备份档的目录 $rotate: 保留备份数量 …