Category: 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 …
有时一些开发环境的 MySQL 或 MariaDB 服务器没有设定 root 密码, 如果在没有设定 MySQL root 密码的服务器上安装 phpMyAdmin, 存取 phpMyAdmin 页面时会出现以下错误: Login without a password is forbidden by configuration (see AllowNoPassword) 出现这个错误的原因, 是 phpMyAdmin 默认不允许使用空密码, …
本站另一篇文章 修改 MySQL / MariaDB 数据库储存目录 介绍了修改 MySQL 的数据库目录, 方法是透过修改 my.cnf 档案里面的 “datadir” 参数达成。如果不想修改 my.cnf 档案, 可以透过建立 Symlink (连结档) 的方法实现, 以下是设定步骤, 适用于 MySQL 及 MariaDB。 首先停止执行 MySQL / MariaDB: …
如果 MySQL 没有正常关闭,例如强制关机或断电等,重新启动时可能会出现以下错误: Another MySQL daemon already running with the same unix socket 要解决这个问题,只要将 MySQL 的 mysql.sock 删除或重新命名即可。mysql.sock 档案默认会在 MySQL 资料目录下,如果不在那里,可以查看 my.cnf,可能将 mysql.sock 设定到其他位置。 以 Redhat 及 CentOS 为例,默认在 …
以前 MySQL 安装后默认 root 密码是空白, 为了增加安全性, 由 MySQL 5.7 开始, MySQL 在安装时会自动建立一个 root 密码, 需要修改才可以正常使用。 要找回这个 MySQL 建立的 root 密码, 可以开启 MySQL 的 error log, 在 Redhat 及 CentOS …
Linux 的系统管理员, 有时需要在 CLI 执行单一 MySQL 指令, 要实现很容易, 只要用 mysql 的客户端即可, 以下会以 MySQL Server 的环境作为使用例子, 但在 MariaDB 同样适用。 只要用 CLI 的 mysql 指令 (mysql client) 加上 -e 参数, 就可以直接加入需要执行的指令, …