Skip to main content

快速入门

MySQL 是全球知名的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,几经易手目前属于 Oracle 旗下产品。

MariaDB 是一个在全球广受欢迎的关系型数据库系统。它由 MySQL 创始人 Michael Widenius 于2014年联合旧部在芬兰创立。MariaDB最初被设计为 MySQL 的增强,直接替代品,之所以被使用是因为它具有快速,可扩展和强大的功能,并具有丰富的存储引擎,插件和许多其他工具生态系统,因此对于各种用例都非常通用。

准备

部署 Websoft9 提供的 MySQL/MariaDB 之后,需完成如下的准备工作:

  1. 在云控制台获取您的 服务器公网IP地址
  2. 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:3306,9090 端口已经开启
  3. 在服务器中查看 MySQL/MariaDB 的 默认账号和密码
  4. 若想用域名访问 MySQL/MariaDB,务必先完成 域名五步设置 过程

MySQL/MariaDB 初始化向导

详细步骤

部署 MySQL/MariaDB 之后,依次完成下面的步骤,验证其可用性

  1. 使用 SSH 连接 MySQL/MariaDB 所在的服务器

  2. 运行下面的命令,查看 MySQL/MariaDB 的安装信息和运行状态

    sudo systemctl status mysql

    MySQL 正常运行会得到 " Active: active (running)... " 的反馈

  3. 使用 root 账号密码 登录 MySQL 服务端

    #假设初始密码是:123456
    mysql -uroot –p123456

    登录成功会显示如下信息:

  4. 使用 MySQL 可视化管理工具 phpMyAdmin 验证

出现问题?

若碰到问题,请第一时刻联系 技术支持。也可以先参考下面列出的问题定位或 FAQ 尝试快速解决问题。

MySQL/MariaDB 常用操作

密码管理

  • 修改密码,即使用已有密码登录 MySQL,然后修改成另外一个密码。
  • 重置密码,即忘记了密码,需要通过重置密码找回
修改密码

可以通过 MySQL 管理工具修改密码,也通过命令上修改密码

phpMyAdmin修改密码

命令行修改密码

执行一下命令:

mysqladmin -u 用户名 -p 旧密码 password '新密码' 
重置密码

如果忘记了 root 密码,就需要通过命令操作,实现MySQL密码重置。我们提供了一个重置密码的脚本:

  1. 使用SSH远程连接到 MySQL 服务器
  2. 运行如下命令,按提示输入新密码即可。
    wget -N https://ghproxy.com/https://raw.githubusercontent.com/websoft9dev/role_mysql/master/tools/reset_password.sh; bash reset_password.sh

设置 MySQL 远程访问

本地电脑连接 MySQL 时,需设置 MySQL 远程访问:

  1. 云控制台安全组开启 TCP:3306 端口

  2. 设置 MySQL 的远程配置

    • phpMyAdmin 快速配置(推荐)

    • 命令行配置

      # 登录
      mysql -u root -p

      # 开启远程访问
      mysql> use mysql;
      mysql> update user set host = '%' where user = 'root';

      # 重启后生效
      systemctl restart mysqld

更换 MySQL 数据目录

修改 MySQL 数据目录,按以下步骤操作:

  1. 停止 MySQL 服务

    sudo sytemctl stop mysqld
  2. /data/mysql 移动到目标新目录,例如 /data/mysql2

  3. 修改 MySQL 配置文件中的 datadir 配置:

    datadir=/data/mysql2
  4. 重启服务

    sudo sytemctl start mysqld

设置 Binary Log

修改 MySQL 配置文件相关项

log_bin = mysql-bin      # enable Binary log
binlog_format = mixed # Binary log format
expire_logs_days = 7 # Binary log expire time

如果您的二进制日志文件太大,建议将 expire_logs_day 更改为更小,定时清理日志文件。

图形化客户端

使用 MySQL 官方的 Workbench第三方客户端工具在本地管理数据库。

图形化 Web 端(phpMyAdmin)

phpMyAdmin 是很受欢迎的 MySQL 数据库管理工具,下面介绍常见的 phpMyAdmin 操作

连接 MySQL

如果部署方案中包含 phpMyAdmin 等图形化工具,使用就更加便捷方便:

  1. 本地浏览器电脑浏览器访问:http://服务器公网IP:9090,进入phpMyAdmin

    登录phpMyadmin

  2. 输入数据库用户名和密码(不知道密码?)

  3. 登录成功后,可以管理任意数据库

    phpMyadmin

修改 root 密码

  1. 登录phpMyAdmin后,默认页面-常规设置,点击【修改密码】

  2. 修改密码->保存->退出登录,刷新浏览器后便可以使用新密码登录了

新增数据库

  1. 登录phpMyAdmin后,点击左侧菜单栏的“新建”,进入如下的数据库创建界面

  2. 填写数据库名->点击创建按钮,一个新的数据库变建立成功

  3. 默认情况下,root拥有新建的数据库的全部权限

新增数据库用户

数据库用户与数据库是分离的,是“多对多”的关系。可以通过关联使得某个用户具有某个数据库的权限

  1. 登录phpMyAdmin后,点击左侧菜单栏中新打算对其新增用户的数据库(例如:mywebsoft9)
  2. 点击顶部菜单栏的“权限”,找到“新增用户账户”,如下新增用户界面
  3. 根据上图填写用户名、主机地址和密码,然后关联对应的数据库和勾选权限设置
  4. 点击“执行”,就完成新增用户和数据库关联了

说明:也可以登录phpMyAdmin的默认页面后,点击顶部菜单上“账户”,对用户和权限进行管理

数据库导入和导出

导出即备份数据库,导入即恢复数据库。这个两个操作对 phpMyAdmin 来说比较简单,具体如下:

  1. 登录phpMyAdmin后,选择您需要操作的数据库后,点击顶部菜单栏的“导出”

  2. 选择导出方式(默认为“快速”)和格式(默认为“SQL”),点击“执行”按钮

  3. 数据库备份文件(.sql后缀)生成后,保存到本地完成导出工具

  4. 恢复数据库,对应的是“导入”操作,具体参考下图

  5. 导入文件特别要注意字符集兼容性

MySQL 远程访问

在phpMyAdmin中开启远程只需要将root账号的访问方式改成“任意方式访问”,具体如下:

  1. 打开账户->找到主机名为127.0.0.1的root用户,点击“修改权限”
  2. 在“登录信息”选项卡中,将“主机名”下拉菜单选项更改为“任意主机”,点击执行
  3. 以上两步就完成了开启远程连接的工作

管理多个 MySQL 实例

phpMyAdmin 支持多个 MySQL 实例。

修改 phpMyAdmin 的 docker-compose 文件的对应的环境变量(PMA_HOST 更改为 PMA_HOSTS)即可支持:

version: "3.7"
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: "phpmyadmin"
environment:
- PMA_HOSTS=172.17.0.1,172.17.0.2
- PMA_PORTS=3306
- UPLOAD_LIMIT=20M
...

修改导入文件大小限制

phpMyAdmin 默认可导入的文件大小有限制,可通过如下步骤修改它:

  1. 使用 SFTP 连接服务器,编辑 /data/apps/phpmyadmin/docker-compose.yml 文件,在环境变量处增加一个字段 - UPLOAD_LIMIT=20M

    version: "3.7"
    services:
    phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: "phpmyadmin"
    environment:
    - PMA_HOST=172.17.0.1
    - PMA_PORT=3306
    - UPLOAD_LIMIT=20M
  2. 重新创建 phpMyAdmin 容器后生效

    cd /data/apps/phpmyadmin && docker-compose up -d

MySQL/MariaDB 参数

MySQL 应用中包含 Docker, phpMyAdmin 等组件,可通过 通用参数表 查看路径、服务、端口等参数。

通过运行docker ps,可以查看到 MySQL 运行时所有的 Container:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES

下面仅列出 MySQL 本身的参数:

路径

MySQL 安装目录: usr/local/mysql
MySQL 配置文件: etc/my.cnf
MySQL 数据目录:/data/mysql
MySQL 日志文件: /var/log/mysql/mysqld.log
MySQL PIN: /run/mysqld/mysqld.pid
MySQL Socket: /var/lib/mysql/mysql.sock

MariaDB 配置文件: /etc/my.cnf
MariaDB 数据目录:/data/mariadb
MariaDB 错误日志: /data/mariadb/mariadb.err
MariaDB Socket: /data/mariadb/mariadb.sock

phpMyAdmin 安装路径: /data/apps/phpmyadmin
phpMyAdmin 配置文件: /data/apps/phpmyadmin/config.inc.php
phpMyAdmin 虚拟主机配置文件: /etc/httpd/conf.d/phpMyAdmin.conf

端口

端口号用途必要性
3306MySQL/MariaDB 远程端口可选
9090HTTP 访问 phpMyAdmin on Docker可选

版本

mysql -V

服务

sudo systemctl start | stop | restart | status mysql
sudo systemctl start | stop | restart | status mariadb
sudo docker start | stop | restart | stats phpmyadmin

命令行

MySQL 安装完成后,默认有如下可用工具:

  • mysql
  • mysqladmin
  • mysqldump
  • mysqlhotcopy
  • mysqlcheck
  • mysqlshow
  • mysqlimport
  • mysqlbinlog
  • myisampack

API

Connectors and APIs