Tag: MariaDB
libmysql 是 PHP 沿用已久的 MySQL driver, 而在 PHP 5.3 开始, PHP 内建了 PHP 专用连接 MySQL 的 Driver — mysqlnd, 而从 PHP 5.4 之后的版本, mysqlnd 更被 PHP 作为默认安装选项。 如果在 RHEL …
Apache 默认会将 Log 记录档储存到文字档,一般会在 logs/ 目录,或者 /var/log/httpd/ 目录。将 Apache Log 储存到 MySQL 除了可以方便过滤记录档内资讯外,也可以实现多个 Apache Log 集中管理。 以前试过自己写 Shell Script 将 Log 插入 MySQL,但原来已经有 Apache Module 可以做这件事,十分方便。以下是 Apache 设定将 Log …
当需要将 MySQL 资料表完整复制时, 如果资料表是使用 MyISAM 储存引擎, 可以直接停止 MySQL 服务器, 再将资料表的 .MYD 及 MYI 档案复制。但如果资料表是 InnoDB, 或者不想停止 MySQL 运作, 除了用传统的备份方法外, MySQL 已经内建了复制的功能, 具体做法如下。 假设旧资料表是 old_table, 新资料表是 new_table, 可以执行以下 SQL Query: …
在多时写程式都会用 Unix Timestamp 储存时间,好处是可以很简单作日期计算,以及用不同格式显示日期。 以前储存在 MySQL 的日期时间,会撷取后用 PHP 的 date() 函式显示,但 MySQL 已经内置了用作换算 Unix Timestamp 的功能,用起来很方便,以下记录一下用法。 UNIX_TIMESTAMP() — 取得目录 Unix Timestamp: 以前习惯在 PHP 用 time() 函式插入 Unix Timestamp 到 …
MariaDB 是 MySQL 的替代产品, 也是 RHEL 7 及 CentOS 7 的默认数据库系统。有时需要在 MariaDB 及 MySQL 之间做测试, 或者在不同版本 MySQL 之间做测试, 同时安装及运行 MariaDB 及 MySQL 会很方便, 以下纪录一下在主机内同时安装 MariaDB 及 MySQL 运行, 当然如果有需要, …
有时需要在 MySQL 数据库内,检查字段的值是否 NULL,这个可以使用 MySQL 内建检查 NULL 的功能,分别是 “IS NULL” 及 “IS NOT NULL”, 以下是用法: select 资料表 table_name,字段 col_name 是 NULL 的纪录: select 资料表 table_name,字段 col_name 不是 NULL 的记录: …
在 Shell Script 连接 MySQL, 可以用以下语句实现: $ mysql -u db_user -pdb_password db_name -e ‘sql_query’ 如果系统内没有其他使用者,这个方法没什么问题,但如果系统有其他使用者,在执行 Shell Script 时,其他使用者便可以用 ps 这类指令,看到正在连接 MySQL 的使用者名称及密码。 较安全的方法是将 MySQL 使用者名称及密码储存到家目录的 .my.cnf 档案,那便不用在 Shell Script …
以下是安装 MySQL 后可以尝试的优化项目,建议逐样项目修改,以检视每个项目的优化成效,而大部份的设定可以在运行中 MySQL 设定,不用重新启动 MySQL。 innodb_buffer_pool_size: 这个设定是 innodb 储存引擎数据库,所使用的资料及索引快取,根据内存的大小䀆量设定大一点,可以减低读取资料时从硬盘读取的次数。如果是独立的 MySQL 服务器,可以这样设定: 系统 8GB 内存: 5GB – 6GB 系统 32GB 内存: 20GB – 25GB 系统 128GB 内存: 100GB – …
在 Persona 看到,MySQL 使用手册提到,要关闭 MySQL 的 Query Cache,在 MySQL 执行时设定 query_cache_type 变量为 0, 便可以关闭 Query Cache。但 Persona 的专家发现,需要在 my.cnf 设定 query_cache_type 及 query_cache_size 为 0, 并重新启动 MySQL 才会真闗闭 Query …
CentOS 6 默认的数据库系统是 MySQL 5.1, 当服务器升级到 CentOS 7 后, 默认的数据库系统改为 MariaDB 5.5, 即等同 MySQL 5.5. 由于数据库的数量较多, 而且体积也很大, 所以不会用 mysqldump 转移, 而且将整个数据库目录搬到新服务器, 再用 mysql_upgrade 工具实现, 以下是由 MySQL 5.1 升级到 MariaDB …