Tag: MySQL

查询已安装的 MySQL / MariaDB 版本

由于各个 MySQL 的版本都略有不同,而且又有 MaridDB 或 Percona 等分支版本, 很多时系统管理员都需要查询系统内的 MySQL 版本,要查询系统内的 MySQL 版本,以下列出几种查询 MySQL 版本的方法。 CLI 在 CLI 查询 MySQL 版本十分简单,用 mysql 指令便可以, 而且不用登入 MySQL: $ mysql -V 执行后会输出 MySQL …

MySQL / MariaDB 移除使用者帐号及权限

当 MySQL / MariaDB 服务器开启了多个帐号给不同网站使用, 有需要将当中的特定帐号移除, 除了登入 phpMyAdmin 操作外, 也可以用 MySQL 指令完成, 以下是 MySQL 及 MariaDB 移除使用者帐号的方法。 首先登入到 MySQL: # mysql -u root -p 登入 MySQL 后, 可以先列出所有使用者帐号, 以确定要删除的帐号: …

MySQL 限制每个使用者最大连线数

MySQL 的 max_connections 可以设定 MySQL 服务器的最大连线数,但 max_connections 是针对整台 MySQL 服务器,如果某一个 MySQL 帐号使用过多连线数,可以用以下方法限制每个使用者最大连线数,限止因为个别高用量使用者拖累其他使用者。 另一个设定参数是 max_user_connections,就可以设定每个使用者的连线数量限制, 以避免一个使用者的用量过高而影响整台 MySQL 服务器的运作。一般上可以将 max_user_connections 设定成 max_connections 的一半数值, 例如 max_connections 是 1000, max_user_connections 可以设定成 500, 设定方法先开启 …

提高 MySQL 的 open files limit

对于中高用量的 MySQL 服务器, 提高 max_connections 是必然的设定, 不然便会出现 too many connections 错误。但 max_connections 这个数值不可以任意提高的, 如果设定太高, 会出以类似以下的错误: Changed limits: max_open_files: 1024 max_connections: 214 table_cache: 256 例如设定 max_connections 到 1000, 系统出现上面 Warning …

MySQL 管理相关指令

以下是一些常用的 MySQL 管理相关指令汇整, 以下的指令如果以 # 字符开头, 代表是在 CLI 输入的指令, 如果是以 “mysql>” 开始, 则表示登入 MySQL 后输入的指令。 登入 MySQL: 建立数据库: 汇入数据库: (将 /path/to/backup.sql 汇入到 database_name 数据库) 汇出数据库: (将 database_name 数据库汇出到 /path/to/backup.sql) …

MySQL 修改使用者密码

修改 MySQL 密码可以透过 mysql 指令 (在 Windows 下是 mysql.exe),mysqladmin 指令或 phpMyAdmin 完成,以下是用 mysql 及 mysqladmin 修改 MySQL 使用者密码的方法。 mysql 指令 在指令模式用 root 帐号透过 mysql 登入 MySQL 服务器: # mysql …

MySQL Log 记录档位置

MySQL 和 MariaDB 的 Log 记录档默认储存在数据库目录, Redhat 及 Debian 系发行版的数据库目录都是在 /var/log/mysql/ 目录。 如果在数据库没有找到, 可以查看 /etc/my.cnf 里面的 log-error 一行, 这里可以自订 Log 记录档的位置, 例如在 CentOS 7 的 MariaDB 是这样: 知道 Log …

MySQL 开启 innodb_file_per_table 及转换现有资料表

MySQL 会将 InnoDB 的资料表内的资料及索引全部储存到共享空间, 即是所有 InnoDB 资料表的资料全都放到 ibdata1 档案内。而 innodb_file_per_table 就可以设定每个资料表, 使用独立表空间储存资料, 即是每个资料表有属于自己的 .ibd 档案。 这样做的好处是对日后的管理较容易, 在 MySQL 5.6.6 开始, innodb_file_per_table 默认是开启, 而在 5.6.6 前的版本默认是关闭的, 要查询目前 MySQL 的 innodb_file_per_table …

列出所有 MySQL 数据库占用空间体积

当发现 MySQL / MariaDB 服务器的硬盘使用空间越来越多, 想找出那一个数据库占用最多空间时, 以前用 MyISAM 储存引擎时, 可以直接用 du 指令查看数据库目录。但如果是用 InnoDB 的话, 用 du 指令就没有用了。 要找出所有 MySQL 数据库的空间大小, 可以用 MySQL 的 root 帐号登入 MySQL CLI 或 PHPMyAdmin, …