手册下载
05-MySQL 5.7.27安装部署指导(Linux)-整本手册.pdf (2.89 MB)
|
|
|
|
MySQL 5.7.27 |
安装配置指导书(Linux) |
|
|
新华三技术有限公司 http://www.h3c.com
资料版本:5W106-20231024 产品版本:iMC PLAT 7.3 (E0708) |
Copyright © 2018-2023 新华三技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
由于产品版本升级或其他原因,本手册内容有可能变更。H3C保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C尽全力在本手册中提供准确的信息,但是H3C并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。
前 言
本手册各章节内容如下:
· 第1章 说明。介绍MySQL安装前的准备工作。
· 第2章 安装。介绍MySQL的安装过程。
· 第3章 启动/停止。介绍MySQL数据库的启动和停止命令。
· 第4章 配置。介绍MySQL的相关配置。
· 第5章 卸载。介绍MySQL数据库的卸载步骤。
· 第6章 常见维护问题。介绍MySQL在安装和使用过程中的常见问题和解决办法。
前言部分包含如下内容:
· 读者对象
· 本书约定
· 资料意见反馈
本手册主要适用于如下工程师:
· 网络规划人员
· 现场技术支持与维护人员
· 负责网络配置和维护的网络管理员
1. 图形界面格式约定
格 式 |
意 义 |
< > |
带尖括号“< >”表示按钮名,如“单击<确定>按钮”。 |
/ |
多级菜单用“/”隔开。如[文件/新建/文件夹]多级菜单表示[文件]菜单下的[新建]子菜单下的[文件夹]菜单项。 |
2. 各类标志
本书还采用各种醒目标志来表示在操作过程中应该特别注意的地方,这些标志的意义如下:
提醒操作中应注意的事项,不当的操作可能会导致数据丢失或者设备损坏。 |
|
对操作内容的描述进行必要的补充和说明。 |
如果您在使用过程中发现产品资料的任何问题,可以通过以下方式反馈:
E-mail:[email protected]
感谢您的反馈,让我们做得更好!
本文档描述了iMC产品使用MySQL数据库时,数据库的安装和配置,以及其中的注意事项。
· 在安装iMC产品之前,需要完成MySQL数据库的安装,并启动数据库服务。
· 本文描述的所有操作均需要以Linux操作系统的root用户执行,手册中不再赘述。
· 除特殊说明外,本文档中提及的root用户均指MySQL数据库用户,而非Linux的超级用户。
本文档在Red Hat Enterprise Linux 7.3(64位)系统下,以MySQL 5.7版本安装进行说明,其他版本安装时可能略有差异,请参考产品对应的相关资料。
安装前需要做两项准备工作:
对于Red Hat Enterprise Linux 7.3系统,为保证iMC能正常安装,必须安装以下软件包:
· glibc-2.17-157.el7.i686.rpm
· libaio-0.3.109-13.el7.i686.rpm
· libgcc-4.8.5-11.el7.i686.rpm
· libstdc++-4.8.5-11.el7.i686.rpm
· nss-softokn-freebl-3.16.2.3-14.4.el7.i686.rpm
由于上述软件包均为32位,为保证能在64位系统下顺利安装,需要以root用户权限在终端中执行下述命令:
rpm –i –-nodeps –-force glibc-2.17-157.el7.i686.rpm
rpm –i –-nodeps –-force libaio-0.3.109-13.el7.i686.rpm
rpm –i –-nodeps –-force libgcc-4.8.5-11.el7.i686.rpm
rpm –i --nodeps –-force libstdc++-4.8.5-11.el7.i686.rpm
rpm -i --nodeps –-force nss-softokn-freebl-3.16.2.3-14.4.el7.i686.rpm
安装MySQL前需要卸载RHEL7.3自带的MariaDB,否则会产生冲突导致MySQL不能正常安装。卸载MariaDB及相关程序的方法如下:
(1) 使用下述命令查询已安装的MariaDB及相关程序:
rpm –qa | grep mariadb
(2) 查询出已安装的MariaDB及相关程序后,使用下述命令卸载软件包:
rpm –e mariadb-server-5.5.52-1.el7.x86_64
rpm –e mariadb-5.5.52-1.el7.x86_64
rpm –e mariadb-libs-5.5.52-1.el7.x86_64
(3) 如果卸载时提示有其他组件依赖于mariadb-server-5.5.52-1.el7.x86_64和rpm –e mariadb-libs-5.5.52-1.el7.x86_64软件包,请使用下述命令卸载:
rpm –e -–nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm –e -–nodeps mariadb-5.5.52-1.el7.x86_64
rpm –e -–nodeps mariadb-libs-5.5.52-1.el7.x86_64
图1-2 卸载系统中的MariaDB
(4) 使用下述命令查询已安装的MySQL相关程序:
rpm –qa | grep mysql
rpm –qa | grep MySQL
(5) 查询出已安装的MySQL相关程序后,使用下述命令卸载软件包:
rpm –e ––nodeps qt-mysql-4.8.5-13.e17.x86_64
rpm –e ––nodeps akonadi-mysql-1.9.2-4.e17.x86_64
rpm –e ––nodeps perl –DBD-MySQL-4.023-5.el7.x86_64
图1-3 卸载系统中的MySQL
安装之前请先将安装文件拷贝到Linux服务器上。
本手册以如下安装文件为例进行介绍,如图2-1所示。
· mysql-community-server-5.7.27-1.el7.x86_64.rpm
· mysql-community-client-5.7.27-1.el7.x86_64.rpm
图2-1 Linux平台安装MySQL需要的文件
由于mysql-community-client-5.7.27-1.el7.x86_64.rpm依赖mysql-community-common-5.7.27-1.el7.x86_64.rpm和mysql-community-libs-5.7.27-1.el7.x86_64.rpm,因此需要先安装mysql-community-common-5.7.27-1.el7.x86_64.rpm再安装mysql-community-libs-5.7.27-1.el7.x86_64.rpm,然后进行服务器和客户端的对应安装。
安装说明:
· 当iMC使用本地数据库时,iMC服务器需要安装mysql-community-server-5.7.27-1.el7.x86_64.rpm和mysql-community-client-5.7.27-1.el7.x86_64.rpm。
· 当iMC使用远程数据库时,iMC服务器上需要安装客户端文件mysql-community-client-5.7.27-1.el7.x86_64.rpm,远程数据库服务器上需要安装mysql-community-client-5.7.27-1.el7.x86_64.rpm和mysql-community-server-5.7.27-1.el7.x86_64.rpm。
2.1 MySQL客户端安装
MySQL客户端包括MySQL管理和用户交互等工具,如mysqladmin,mysql。无论iMC使用本地数据库或远程数据库,均需在iMC服务器上安装MySQL客户端。进入MySQL安装包存放路径,执行如下命令安装MySQL客户端:
rpm –ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm –ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
安装过程如图2-2所示。
图2-2 MySQL客户端安装过程
进入mysql安装包存放路径,执行如下命令安装MySQL服务器:
rpm –ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm –ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm –ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
图2-3 MySQL服务器安装过程
MySQL服务器安装完成后,使用如下命令启动MySQL服务:
systemctl start mysqld.service
MySQL服务器缺省使用3306端口,可以通过下述命令检查MySQL服务是否启动:
netstat –nat | grep 3306
图2-4 检查MySQL服务是否启动
如果出现如图2-4所示的回显内容,说明MySQL服务已启动。
MySQL客户端安装完成后,需要验证是否能够正常连接MySQL服务器。
iMC服务器已经安装了MySQL服务器。在客户端安装完成后,输入下述命令,并在“Enter password:”后输入root用户密码。安装过程中并未设置root用户的密码,而是MySQL会自动为root用户生成一个密码,查看该密码的方式请参见2.4 修改MySQL密码。如果能够进入MySQL命令行,说明一切正常。
mysql –u root -p
图2-5 进入MySQL命令行
iMC服务器安装了客户端,请使用如下图所示命令确认是否能正常连接MySQL服务器,验证前请确认MySQL服务器已创建远程root用户。关于如何创建远程root用户,请参见4 2. 创建远程root用户。
图2-6 验证连接MySQL服务器
其中10.114.119.80为MySQL服务器IP地址,root为MySQL服务器远程用户,在“Enter password:”后输入root用户的密码。安装过程中并未设置root用户的密码,而是MySQL会自动为root用户生成一个密码,查看该密码的方式请参见2.4 修改MySQL密码。
如果能进入MySQL命令行状态,表示能正常连接数据库。
· 确认远程用户root的密码时,请不要使用以下字符:` ' \ " ! ( ) & | \ \ $ ; @ < > / ^ \t,否则安装iMC时密码不能被正常检测。
· MySQL 5.7版本默认密码策略要求root密码必须包含大写字母、小写字母、数字和特殊字符,并且长度不少于8位。
MySQL服务器在安装时会为root用户设置随机密码,并将密码保存在/var/log//mysqld.log文件中。
第一次启动服务后,必须立即更改密码,否则MySQL无法正常使用。修改密码的方法如下:
(1) 查看并记录密码。打印密码的命令如下:
grep ‘temporary’ /var/log/mysqld.log
图2-7 打开日志文件查看临时密码
(2) 使用临时密码登录数据库,命令如下:
mysql –u root –p
(3) 在“Enter password:”后输入刚刚查看的密码,进入MySQL命令行,如下图所示:
图2-8 进入MySQL命令行
(4) 输用下述命令,更改MySQL中root用户的密码(yourpassword为root用户的新密码,请根据实际情况替换)。
SET PASSWORD = PASSWORD(‘yourpassword’);
图2-9 更改MySQL中root用户的密码
出现上图所示结果,表明操作执行完成,密码更改成功。
本章配置仅针对MySQL服务器,除了安全配置、创建远程root用户和创建数据库,其他操作只能在停止MySQL服务的情况下才能进行。
(1) MySQL服务器安装完成后,可以通过下述命令运行mysql_secure_installation进行安全配置:
/usr/bin/mysql_secure_installation
图4-1 设置root用户密码
运行mysql_secure_installation后,需要输入root用户的密码才能进行安全配置。在安全配置过程中可以进行设置root用户密码、删除匿名用户、删除测试数据库等操作。
(2) 由于MySQL服务器安装完成后,已经修改了root用户的密码,所以此处选择不修改。
图4-2 不修改root用户密码
(3) 确认删除匿名用户、禁用root用户远程登录并删除test数据库,这三项均输入“Y”。
图4-3 删除匿名用户、设置root用户远程登录以及删除test数据库
(4) 上图中禁用了远程root用户,关于如何启用及配置远程root用户,请参考2. 创建远程root用户。更改设置后,需要重新加载权限表,所以输入“Y”。
图4-4 重新加载权限表
重新加载权限表后,所有安全配置生效。
· 确认远程用户root的密码时,请不要使用以下字符:` ' \ " ! ( ) & | \ \ $ ; @ < > / ^ \t,否则安装iMC时密码不能被正常检测。
· MySQL 5.7版本默认密码策略要求root密码必须包含大写字母、小写字母、数字和特殊字符,并且长度不少于8位。
如果iMC服务器使用远程数据库,则需要使用远程root用户连接数据库并进行操作,因此必须在MySQL服务器上进入MySQL命令行,并使用下述命令创建远程root用户,如图4-5所示,修改方式为:
(1) 登录数据库,命令如下:
mysql –u root –p
(2) 输入新设置的数据库密码。
(3) 读取数据库表,命令如下:
use mysql;
(4) 更新数据库用户,命令如下:
update user set host='%' where user='root';
(5) 创建root用户,命令如下:
grant all privileges on *.* to root@'%’ identified by ‘iMC_123456’ with grant option;
(6) 刷新权限,命令如下:
flush privileges;
iMC_123456为远程用户root的密码,请根据实际情况设置。
MySQL启动时使用的默认配置文件为/etc/my.cnf,它决定了MySQL的性能和行为,以及定义MySQL文件的存放路径。在进行以下所有配置之前,请先停止MySQL服务,完成配置后重新启动MySQL服务。
(1) 输入命令vi /etc/my.cnf,创建文件并进入vi(Visual interface,一种文本编辑器)。
图4-6 打开my.cnf
(2) 按下i键进入编辑模式,开始修改参数。
图4-7 进入编辑模式
(3) 如图4-8所示,增加如下参数:
iMC PLAT 7.3 (E0703)安装前必须配置validate-password=off,禁用密码检测功能。E0705及之后版本可以不配置。
[mysqld]
port= 3306
character-set-server = gbk
default-storage-engine = INNODB
innodb_buffer_pool_size = 512M
innodb_strict_mode = 0
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 200M
max_connections = 800
lower_case_table_names = 1
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 32M
validate-password = off
default-time-zone = '+8:00'
[mysqldump]
quick
max_allowed_packet = 200M
[mysql]
no-auto-rehash
default_character_set = gbk
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer_size = 2M
[mysqlhotcopy]
interactive-timeout
图4-8 my.cnf文件内容
上述各参数说明详见下表。
参数名称 |
参数 |
说明 |
字符集 |
character-set-server |
MySQL数据库所使用的字符集。比如中文为gbk,英文为latin1,日文为sjis等等。 |
引擎类型 |
default-storage-engine |
MySQL数据库引擎的类型,包括:MyISAM、InnoDB、MEMORY和MERGE等。 |
InnoDB缓冲 |
innodb_buffer_pool_size |
InnoDB缓存池的容量。 |
InnoDB严格检查模式 |
innodb_strict_mode |
影响创建表、更改表和创建索引语句语法错误的处理。 · 取值为0时,将会忽略冲突条件创建表或索引,并且在消息日志中显示警告。 · 取值为1时,立即产生错误,不会创建表和索引。 |
最大包容量 |
max_allowed_packet |
数据包的最大容量。 |
最大连接数 |
max_connections |
MySQL所允许的最大连接数。 用户也可以根据所安装的组件数调整最大连接数,每个组件/模块的连接数值请参考《H3C智能管理中心 用户手册》。 |
表名大小写忽略 |
lower_case_table_names |
对数据库中的表名是否区分大小写,取值为0时区分,为1时不区分。 |
密码检测插件配置 |
validate-password |
控制服务器在启动时加载validate_password插件的方式。密码检测插件默认开启。 |
时区 |
default-time-zone |
MySQL必须指定具体时区。仅当已创建和填充MySQL数据库中的时区信息表时,才能使用命名时区(如“欧洲/赫尔辛基”、“美国/东方”或“MET”)。 |
事务隔离级别 |
transaction_isolation |
安装EIA组件时,请查看[mysqld]配置下看是否有“transaction_isolation”配置项: · 如果没有则增加“transaction_isolation=READ-COMMITTED”。 如果有则将配置项的值修改为“READ-COMMITTED”。 |
(1) 若采用mysqldump进行数据库备份时,会出现数据入库慢,导致数据积压的现象,会发现在数据备份的时间段内出现无数据或者数据量很少的情况。可通过修改数据库的配置文件对该情况进行优化,即修改/etc/my.cnf配置文件。
(2) 输入命令vi /etc/my.cnf,打开文件并进入vi(Visual interface,一种文本编辑器)。
(3) 按下i键进入编辑模式,开始修改参数。
[mysqldump]
Single-transaction
(4) 按下Esc键返回的一般模式。
(5) 在一般模式下按下:wq,保存后退出vi。
MySQL安装完成后,用户可以根据实际需要修改MySQL文件的存放路径,下面以将数据库文件存放路径修改为/data/mysql_data举例说明。
(1) 停止MySQL服务
systemctl stop mysqld.service
(2) 创建数据库文件存放路径/data/mysql_data
mkdir –p /data/mysql_data
(3) 将原存放路径下的所有文件拷贝至新的路径下,并赋予其管理权限。
cp –R /var/lib/mysql/* /data/mysql_data/
chmod -R 777 /data/mysql_data/
(4) 修改/etc/my.cnf文件,使用datadir项修改数据库文件存放路径。
vi /etc/my.cnf
在[mysqld]下增加如下一行:
datadir=/data/mysql_data
(5) 指定登录MySQL的sock文件路径,如图4-10所示。
在[mysqld]上面增加参数:
[mysql]
[client]
在[mysqld]下面增加参数:
socket = /data/mysql_data/mysql.sock
图4-10 指定socket文件路径
修改完成后保存退出。
(6) 启动MySQL服务
systemctl start mysqld.service
数据库文件存放路径修改完成。
iMC PLAT 7.3 (E0703)安装前需要将install.sh文件中“-DUnsupportMySQL”参数修改为false。iMC具体安装过程,参见H3C智能管理中心部署指导。
停止MySQL服务,并卸载MySQL,如不确定所卸载组件名称,可以查询。依次执行如下所有命令:
systemctl stop mysqld.service
rpm -qa | grep mysql
rpm –e –-nodeps mysql-community-server-5.7.27-1.el7.x86_64
rpm –e –-nodeps mysql-community-client-5.7.27-1.el7.x86_64
rpm –e –-nodeps mysql-community-libs-5.7.27-1.el7.x86_64
rpm –e –-nodeps mysql-community-common-5.7.27-1.el7.x86_64
执行结果如图5-1所示。
卸载完成后需要手动删除数据文件。缺省情况下数据文件存放在/var/lib/mysql路径下。使用下述命令删除mysql目录:
rm -rf /var/lib/mysql
执行完成后,卸载MySQL数据库完成。
对于iMC使用远程服务器的情况,请依次执行如下命令进行卸载:
rpm -qa | grep mysql
rpm –e –-nodeps mysql-community-client-5.7.27-1.el7.x86_64
rpm –e –-nodeps mysql-community-libs-5.7.27-1.el7.x86_64
rpm –e –-nodeps mysql-community-common-5.7.27-1.el7.x86_64
执行结果如图5-2所示。
安装MySQL时,需要根据用户当前的语言环境,选择恰当的字符集。否则,可能导致数据库中的数据出现乱码。当出现这种情况时,请参照图4-9重新配置正确的字符集。
如果iMC连接数据库的帐号密码被更改,iMC服务器会无法连接数据库。此时需要修改iMC保存的数据库密码。
(1) 执行/opt/iMC/deploy/instInfoMgr.sh –modify dbAdminPwd=yourpassword命令,修改iMC服务器上的数据库密码。例如将密码修改为iMC123456,配置内容如图6-1所示。
图6-1 修改iMC服务器上的数据库密码
(2) 在智能部署监控代理“Environment”页签中,单击Database Space Usage下方的<Refresh>按钮,刷新智能部署监控代理。