所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type I) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
MySQL操作指导

MySQL操作指导

数据库安全设置

帐户密码等级设置
  • RDS Console端数据库密码复杂度,请参见表36-9
  • RDS实例数据库对在客户端新创建的数据库用户,设置了密码安全策略:
    • 口令长度至少8个字符。
    • 口令至少包含大写字母、小写字母、数字和特殊字符各一个。

创建实例时,为用户提供了密码复杂度校验,由于root用户可以修改密码复杂度,安全起见,建议修改后的密码复杂度不低于RDS的初始化设置。

帐户说明

为了给MySQL数据库实例提供管理服务,您在创建数据库实例时,RDS会自动为实例创建rdsAdmin、rdsRepl、rdsBackup和rdsMetric帐户。如果试图删掉、重命名、修改这些帐户的密码和权限,会导致出错。

配置运行参数

为确保RDS服务发挥出最优性能,用户可根据业务需求对用户创建的参数组里边的参数进行调整。

说明:
  • 系统提供的默认参数组不允许修改,只可单击参数组名进行查看。当用户参数设置不合理导致数据库无法启动时,可参考默认参数组重新配置。
  • 本章提供在“参数组管理”页面的操作方法。用户在“实例管理”页面,选择需要编辑参数组的实例,单击实例名称。进入“基本信息”页面,单击“实例信息”模块的参数组名,也可对参数组进行相关操作。
操作步骤
  1. “参数组管理”页面,选择需要编辑的自定义参数组,单击参数组名称。
  2. 根据需要修改相关参数。

    参数相关说明如下:

    • 各参数的详细说明请参见MySQL官网。对于用户可以修改的参数项,请参见通过控制台可以修改哪些参数项(MySQL)
    • innodb_buffer_pool_size、innodb_log_file_size、innodb_spin_wait_delay、query_alloc_block_size和thread_stack依赖于实例的规格,设置过大时,可能会导致数据库的使用受到影响。
    • key_buffer_size参数值设置较小(小于4096),参数值修改将失败。

      max_seeks_for_key参数值设置较小会影响数据库操作,如select、show global variables等操作。

      max_connections参数值设置较小,将影响数据库访问。

      max_join_size,如果该值设置过小,将导致数据库不可用。

      sql_select_limit,如果该值设置过小,可能导致参数查询功能不可用。

    • performance_schema参数设置为ON或者OFF时,对于前缀为“performance_schema”的这类参数,其值由MySQL引擎自动处理,取值不固定。因此,该类参数在用户未设置前显示为空。

      innodb_buffer_pool_size、innodb_log_buffer_size、innodb_log_files_in_group、max_connections、slave_parallel_workers和back_log参数依赖于实例的规格,实例规格不同对应其默认值也不同。因此,这些参数在用户未设置前均存在默认值。

      说明:

      innodb_log_file_size、innodb_log_buffer_size、innodb_log_files_in_group已设置默认值,不允许用户修改。

    可进行的操作如下:

    • 单击“保存”,单击“确定”,保存修改。
    • 单击“取消”,放弃本次设置。
    • 单击“预览”,可对比参数修改前和修改后的值。
    说明:

    对于某些运行参数修改,您需在实例列表中,查看实例状态,如果显示“参数组变更,等待重启”,则需重启关联的实例使之生效。

    • 修改实例的某些参数,需重启主实例使之生效。
    • 修改只读实例的某些参数,需要重启该只读实例使之生效。

数据迁移

迁移准备

RDS支持开启公网访问功能,通过EIP进行访问。通过ECS访问,迁移前需先创建ECS,安装进行数据转储的数据库引擎配套导出工具。

准备工作
  1. 准备ECS或可访问RDS的设备。
    • 通过ECS连接RDS实例,创建一台ECS。

      创建并连接ECS,请参见如何创建和连接ECS

    • 通过公网地址连接RDS实例,需具备以下条件。
      1. 先对RDS实例绑定公网地址,如何绑定公网地址,请参见绑定
      2. 保证本地设备可以访问RDS绑定的公网地址。
  2. 1中的ECS或可访问RDS的设备上,安装MySQL客户端。

    请参见如何安装MySQL客户端

    说明:

    该ECS或可访问RDS的设备需要安装和RDS MySQL数据库服务端相同版本的数据库客户端,MySQL数据库服务端或客户端会自带mysqldump和mysql工具。

导出数据
  • 相应导出工具需要与数据库引擎版本匹配。
  • 数据库迁移为离线迁移,您需要停止使用源数据库的应用程序。

要将已有的MySQL数据库迁移到RDS,需要先对其进行转储。

操作步骤
  1. 登录迁移准备1中准备的ECS,或可访问RDS的设备。
  2. 使用mysqldump将元数据转储至SQL文件。

    MySQL数据库是RDS管理所必须的数据库,导出元数据时,禁止指定--all-database参数,否则会造成数据库故障。

    mysqldump --databases <DB_NAME> --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u <DB_USER> -p -h <DB_ADDRESS> -P <DB_PORT> |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' > <BACKUP_FILE>

    • DB_NAME为要迁移的数据库名称。
    • DB_USER为数据库用户。
    • DB_ADDRESS为数据库地址。
    • DB_PORT为数据库端口。
    • BACKUP_FILE为要转储的文件名称

    根据命令提示输入数据库密码。

    示例如下:

    mysqldump --databases rdsdb --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u root -p -h 192.168.151.18 -P 3306 |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' > dump-defs.sql

    Enter password:

    说明:

    若使用的mysqldump低于5.6版本,需要去掉“--set-gtid-purged=OFF”。

    命令执行完会生成“dump-defs.sql”文件,如下:

    [rds@localhost ~]$ ll dump-defs.sql
    -rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-defs.sql

  3. 使用mysqldump将数据转储至SQL文件。

    MySQL数据库是RDS管理所必须的数据库,导出元数据时,禁止指定--all-database参数,否则会造成数据库故障。

    mysqldump --databases <DB_NAME> --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u <DB_USER> -p -h <DB_ADDRESS> -P <DB_PORT> -r <BACKUP_FILE>

    以上命令的参数说明如步骤 2所示。

    根据命令提示输入数据库密码。

    示例如下:

    mysqldump --databases rdsdb --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u root -p -h 192.168.151.18 -P 3306 -r dump-data.sql

    说明:

    若使用的mysqldump低于5.6版本,需要去掉“--set-gtid-purged=OFF”。

    命令执行完会生成“dump-data.sql”文件,如下:

    [rds@localhost ~]$ ll dump-data.sql
    -rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-data.sql

导入数据

如果源数据库中包含触发器、存储过程、函数或事件调用,则需确保导入前设置目标数据库参数log_bin_trust_function_creators=ON。

通过ECS或可访问RDS的设备,用相应客户端连接RDS实例,将转储文件导入到RDS。

操作步骤
  1. 导入元数据到RDS。

    先用mysql工具连接RDS实例,输入密码后,再执行导入命令。

    # mysql -f -h <RDS_ADDRESS> -P <DB_PORT> -u root -p -D database_Name < <BACKUP_DIR>/dump-defs.sql

    • RDS_ADDRESS为RDS实例的IP地址。
    • DB_PORT为当前数据库实例的端口。
    • BACKUP_DIR为“dump-defs.sql”所在目录。

    示例如下:

    mysql -f -h 172.16.66.198 -P 8635 -u root -p -D user01 < dump-defs.sql

    Enter password:

  2. 导入数据到RDS。

    # mysql -f -h <RDS_ADDRESS> -P <DB_PORT> -u root -p -D database_Name < <BACKUP_DIR>/dump-data.sql

    • RDS_ADDRESS为RDS实例的IP地址。
    • DB_PORT为当前数据库实例的端口。
    • BACKUP_DIR为“dump-data.sql”所在目录。

    示例如下:

    mysql -f -h 172.16.66.198 -P 8635 -u root -p -D user02 < dump-data.sql

    Enter password:

  3. 查看迁移结果。

    mysql> show databases;

    示例中,名为my_db的数据库已经被导入了:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | my_db              |
    | mysql              |
    | performance_schema |
    +--------------------+
    4 rows in set (0.00 sec)

将数据库实例恢复到指定时间节点

操作场景

请勿在MySQL实例的生命周期内执行“reset master”命令,以免造成恢复到指定时间点功能异常。

RDS支持使用已有的自动备份,恢复实例数据到指定时间点。

操作步骤
  1. “实例管理”页面,选择指定的实例,单击实例名称。
  2. “备份恢复”页签,单击“恢复到指定时间点”
  3. 选择需要恢复的时间区间,选择或输入该恢复时间区间内的一个恢复时间点,选择恢复方式,单击“确定”。

    • 恢复到新实例

      跳转到“恢复到新实例”的服务选型页面:

      • 数据库引擎、数据库版本和数据库端口,与原实例相同,不可修改。
      • 数据库密码需重新设置。
      • 其他参数默认和原实例设置相同,用户可修改。
    • 恢复到当前实例

      恢复到当前实例会导致实例数据被覆盖,且还原过程中实例将不可用。

  4. 查看恢复结果。

    • 恢复到新实例,为用户重新创建一个和该备份数据相同的实例。可看到实例由“创建中”变为“正常”,说明恢复成功。

      恢复成功的新实例是一个独立的实例,与原有实例没有关联。如需使用只读实例,请重新在该实例上进行创建。

    • 恢复到当前实例,在“实例管理”页面,可查看该实例下所有实例状态为“恢复中”,恢复完成后,实例状态由“恢复中”变为“正常”。

      用户可在界面上看到一个新的可恢复时间区间,且该时间区间与原时间区间有一段时间差(即恢复占用的时间)。

    创建或恢复完成后,RDS会执行一次全量备份。

恢复备份

操作场景

RDS支持使用已有的自动和手动备份恢复实例数据,可选择恢复到当前实例或恢复到新实例,将实例恢复到备份被创建时的状态。

操作步骤
  1. 在“备份管理”页面,选择需要恢复的备份,单击“恢复”

    根据该手动备份所在实例是否存在,进行操作:

  2. 选择需要的恢复方式,单击“确定”。

    • 新实例

      跳转到“恢复到新实例”的服务选型页面,为用户重新创建一个和该备份数据相同的实例。恢复成功的新实例是一个独立的实例,与原有实例没有关联。如果需要使用只读实例,请重新创建。

      • 数据库引擎和数据库版本,与原实例相同,数据库端口默认为8635,以上参数皆不可重置。
      • 其他参数与原实例默认相同也可修改,用户的密码需设置,请参见创建RDS for MySQL实例
      • 新实例创建成功后,会执行一次全量备份。
    • 当前实例

      恢复到当前实例会导致实例数据被覆盖,且恢复过程中实例将不可用。

      在“实例管理”页面,可查看该实例状态为“恢复中”。

    恢复成功后,会执行一次全量备份。

    无需执行步骤 3

  3. 恢复到新实例。

    跳转到“恢复到新实例”的服务选型页面,为用户重新创建一个和该备份数据相同的实例。恢复成功的新实例是一个独立的实例,与原有实例没有关联。如果需要使用只读实例,请在新实例上重新创建。

    • 数据库引擎和数据库版本,与原实例相同,数据库端口默认为8635,以上参数皆不可重置。
    • 其他参数,用户需设置,请参见创建RDS for MySQL实例

    新实例创建成功后,会执行一次全量备份。

查看日志

RDS的日志管理功能支持查看数据库级别的日志,包括数据库运行的错误信息,以及运行较慢的SQL查询语句。

错误日志

错误日志记录了数据库运行时的Warning和Error级别的日志,通过错误日志可帮助分析系统中存在的问题。

操作步骤
  1. 在“实例管理”页面,选择指定的实例,单击实例名称。
  2. “错误日志”页签,查看详细信息。

    • 可选择查看不同时间段的错误日志记录。
    • 对于无法完全显示的“描述”,鼠标悬停查看完整信息。

慢查询日志
操作场景

慢查询日志用来记录执行时间超过long_query_time设定值(默认是10秒)的语句,通过慢查询日志,可以查找出执行效率低的语句,以便进行优化。

操作步骤
  1. 在“实例管理”页面,选择对应的实例,单击实例名称。
  2. “慢日志”页签,查看详细信息。

    • 可根据执行语句类型进行排序。
      • 所有语句类型
      • SELECT
      • INSERT
      • UPDATE
      • DELETE
      • CREATE
    • 对于无法完全显示的“慢查询日志”,鼠标悬停查看完整信息。
    说明:

    慢查询日志中显示的SQL语句只是同一模式的SQL语句中的一个,作为示例,并不会列出所有的SQL语句。例如:先后执行了语句"select sleep(11)"和"select sleep(12)",则它们同属于模式"select sleep(N)",慢查询日志的结果中只会显示SQL语句"select sleep(11)"。

翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043090

浏览量:17526

下载量:563

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页