手册下载
01-MySQL 8.0.xx安装部署指导(Linux)-整本手册.pdf
(1.56 MB)
|
|
|
|
|
MySQL 8.0.xx |
|
安装配置指导书(Linux) |
|
|
|
|
|
新华三技术有限公司 http://www.h3c.com
资料版本:5W108-20240711 产品版本:iMC PLAT 7.3 (E0708) |
Copyright © 2024 新华三技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
由于产品版本升级或其他原因,本手册内容有可能变更。H3C保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C尽全力在本手册中提供准确的信息,但是H3C并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。
前 言
本手册各章节内容如下:
· 第1章 说明。介绍MySQL安装前的准备工作。
· 第2章 安装。介绍MySQL的安装过程。
· 第3章 启动/停止。介绍MySQL数据库的启动和停止命令。
· 第4章 配置。介绍MySQL的相关配置。
· 第5章 卸载。介绍MySQL数据库的卸载步骤。
· 第6章 常见维护问题。介绍MySQL在安装和使用过程中的常见问题和解决办法。
前言部分包含如下内容:
· 读者对象
· 本书约定
· 资料意见反馈
本手册主要适用于如下工程师:
· 网络规划人员
· 现场技术支持与维护人员
· 负责网络配置和维护的网络管理员
|
格 式 |
意 义 |
|
< > |
带尖括号“< >”表示按钮名,如“单击<确定>按钮”。 |
|
[ ] |
带方括号“[ ]”表示窗口名、菜单名和数据表,如“弹出[新建用户]窗口”。 |
|
/ |
多级菜单用“/”隔开。如[文件/新建/文件夹]多级菜单表示[文件]菜单下的[新建]子菜单下的[文件夹]菜单项。 |
本书还采用各种醒目标志来表示在操作过程中应该特别注意的地方,这些标志的意义如下:
|
该标志后的注释需给予格外关注,不当的操作可能会对人身造成伤害。 |
|
|
提醒操作中应注意的事项,不当的操作可能会导致数据丢失或者设备损坏。 |
|
|
为确保设备配置成功或者正常工作而需要特别关注的操作或信息。 |
|
|
对操作内容的描述进行必要的补充和说明。 |
如果您在使用过程中发现产品资料的任何问题,可以通过以下方式反馈:
E-mail:[email protected]
感谢您的反馈,让我们做得更好!
本文档描述了iMC产品使用MySQL数据库时,数据库的安装和配置,以及其中的注意事项。
· 在安装iMC产品之前,需要完成MySQL数据库的安装,并启动数据库服务。
· 本文描述的所有操作均需要以Linux操作系统的root用户执行,手册中不再赘述。
· 除特殊说明外,本文档中提及的root用户均指MySQL数据库用户,而非Linux的超级用户。
本文档在Red Hat Enterprise Linux 8.3(64位)系统下,以MySQL 8.0版本安装进行说明,其他版本安装时可能略有差异,请参考产品对应的相关资料。
安装前需要做两项准备工作:
对于Red Hat Enterprise Linux 8.3系统,为保证iMC能正常安装,必须安装32位软件包,具体配置请参见《Red Hat Enterprise Linux Server 8.1安装指导》。
安装MySQL前需要卸载RHEL 8.3自带的MariaDB,否则会产生冲突导致MySQL不能正常安装。卸载MariaDB及相关程序的方法如下:
使用下述命令查询已安装的MariaDB及相关程序:
rpm –qa | grep mariadb
查询出已安装的MariaDB及相关程序后,使用下述命令卸载软件包:
rpm –e 软件包名称
如果卸载时提示有其他组件依赖于mariadb软件包,请使用下述命令卸载:
rpm –e -–nodeps 软件包名称
使用下述命令查询已安装的MySQL相关程序:
rpm –qa | grep mysql
rpm –qa | grep MySQL
查询出已安装的MySQL相关程序后,使用下述命令卸载软件包:
rpm –e ––nodeps软件包名称
安装之前请先将安装文件拷贝到Linux服务器上。
本手册以如下安装文件为例进行介绍,如图2-1所示。
· mysql-community-server-8.0.17-1.el7.x86_64.rpm
· mysql-community-client-8.0.17-1.el7.x86_64.rpm
图2-1 Linux平台安装MySQL需要的文件
mysql-community-client-8.0.17-1.el7.x86_64.rpm依赖mysql-community-common-8.0.17-1.el7.x86_64.rpm、mysql-community-libs-8.0.17-1.el7.x86_64.rpm和mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm,因此需要先安装mysql-community-common-8.0.17-1.el7.x86_64.rpm再安装mysql-community-libs-8.0.17-1.el7.x86_64.rpm和mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm,然后进行服务器和客户端的对应安装。
安装说明:
· 当iMC使用本地数据库时,iMC服务器需要安装mysql-community-server-8.0.17-1.el7.x86_64.rpm和mysql-community-client-8.0.17-1.el7.x86_64.rpm。
· 当iMC使用远程数据库时,iMC服务器上需要安装客户端文件mysql-community-client-8.0.17-1.el7.x86_64.rpm,远程数据库服务器上需要安装mysql-community-client-8.0.17-1.el7.x86_64.rpm和mysql-community-server-8.0.17-1.el7.x86_64.rpm。
MySQL客户端包括MySQL管理和用户交互等工具,如mysqladmin、mysql。无论iMC使用本地数据库或远程数据库,均需在iMC服务器上安装MySQL客户端。进入MySQL安装包存放路径,执行如下命令安装MySQL客户端:
rpm –ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm
安装过程如图2-2所示。
图2-2 MySQL客户端安装过程
进入mysql安装包存放路径,执行如下命令安装MySQL服务器:
rpm –ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm
rpm –ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm
图2-3 MySQL服务器安装过程
lower_case_table_names参数在MySQL初始化后无法修改,需在首次启动MySQL服务前,在my.cnf文件[mysqld]下面增加参数lower_case_table_names=1,参见4 3. 3. 配置my.cnf中的参数。
MySQL服务器安装完成后,使用如下命令启动MySQL服务:
systemctl start mysqld
MySQL服务器缺省使用3306端口,可以通过下述命令检查MySQL服务是否启动:
netstat –nat | grep 3306
图2-4 检查MySQL服务是否启动
如果出现如图2-4所示的回显内容,说明MySQL服务已启动。
MySQL客户端安装完成后,需要验证是否能够正常连接MySQL服务器。
iMC服务器已经安装了MySQL服务器。在客户端安装完成后,输入下述命令,并在“Enter password:”后输入root用户密码。安装过程中并未设置root用户的密码,而是MySQL会自动为root用户生成一个密码,查看该密码的方式请参见2.5 修改MySQL密码。如果能够进入MySQL命令行,说明一切正常。
mysql –u root -p
图2-5 进入MySQL命令行
iMC服务器安装了客户端,请使用如下图所示命令确认是否能正常连接MySQL服务器,验证前请确认MySQL服务器已创建远程root用户。关于如何创建远程root用户,请参见4 2. 创建远程root用户。
图2-6 验证连接MySQL服务器
其中10.114.119.79为MySQL服务器IP地址,root为MySQL服务器远程用户,在“Enter password:”后输入root用户的密码。安装过程中并未设置root用户的密码,而是MySQL会自动为root用户生成一个密码,查看该密码的方式请参见2.5 修改MySQL密码。
如果能进入MySQL命令行状态,表示能正常连接数据库。
MySQL服务器在安装时会为root用户设置随机密码,并将密码保存在/var/log/mysqld.log文件中。
第一次启动服务后,必须立即更改密码,否则MySQL无法正常使用。
· 数据库用户root的密码,请不要使用以下字符:` ' \ " ! ( ) & | \ \ $ ; @ < > / ^ \t,否则安装iMC时密码不能被正常检测。
· MySQL 8.0版本默认密码策略要求root密码必须包含大写字母、小写字母、数字和特殊字符,并且长度不少于8位。
修改密码的方法如下:
(1) 查看并记录密码。打印密码的命令如下:
sudo grep 'temporary password' /var/log/mysqld.log
图2-7 打开日志文件查看临时密码
(2) 使用临时密码登录数据库,命令如下:
mysql –u root –p
(3) 在“Enter password:”后输入刚刚查看的密码,进入MySQL命令行,如下图所示:
图2-8 进入MySQL命令行
(4) 输用下述命令,更改MySQL中root用户的密码(yourpassword为root用户的新密码,请根据实际情况替换)。
alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword';
图2-9 更改MySQL中root用户的密码
出现上图所示结果,表明操作执行完成,密码更改成功。
MySQL安装后自动被配置为系统服务,因此可以使用服务的方式启动和停止MySQL服务。
systemctl start mysqld
systemctl stop mysqld
图3-1 启动/停止命令
本章配置仅针对MySQL服务器,除了安全配置、创建远程root用户和创建数据库,其他操作只能在停止MySQL服务的情况下才能进行。
MySQL服务器安装完成后,可以通过下述命令运行mysql_secure_installation进行安全配置:
/usr/bin/mysql_secure_installation
图4-1 设置root用户密码
运行mysql_secure_installation后,需要输入root用户的密码才能进行安全配置。在安全配置过程中可以进行设置root用户密码、删除匿名用户、删除测试数据库等操作。
由于MySQL服务器安装完成后,已经修改了root用户的密码,所以此处选择不修改。
图4-2 不修改root用户密码
确认删除匿名用户、禁用root用户远程登录并删除test数据库,这三项均输入“Y”。
图4-3 删除匿名用户、设置root用户远程登录以及删除test数据库
上图中禁用了远程root用户,关于如何启用及配置远程root用户,请参考2. 创建远程root用户。更改设置后,需要重新加载权限表,所以输入“Y”。
图4-4 重新加载权限表
重新加载权限表后,所有安全配置生效。
· 确认远程用户root的密码时,请不要使用以下字符:` ' \ " ! ( ) & | \ \ $ ; @ < > / ^ \t,否则安装iMC时密码不能被正常检测。
· MySQL 8.0版本默认密码策略要求root密码必须包含大写字母、小写字母、数字和特殊字符,并且长度不少于8位。
如果iMC服务器使用远程数据库,则需要使用远程root用户连接数据库并进行操作,因此必须在MySQL服务器上进入MySQL命令行,并使用下述命令创建远程root用户,如图4-5所示,修改方式为:
(1) 登录数据库,命令如下:
mysql –u root –p
(2) 输入新设置的数据库密码,
(3) 更新数据库用户,命令如下:
create user 'root'@'%' identified by 'iMC_123456'; //iMC_123456为远程用户root的密码,请根据实际情况设置。
alter user 'root'@'%' identified with mysql_native_password by 'iMC_123456';
(4) 创建远程root用户,命令如下:
grant all privileges on *.* to root@'%' with grant option;
(5) 刷新权限,命令如下:
flush privileges;
MySQL启动时使用的默认配置文件为/etc/my.cnf,它决定了MySQL的性能和行为,以及定义MySQL文件的存放路径。在进行以下所有配置之前,请先停止MySQL服务,完成配置后重新启动MySQL服务。
(1) 输入命令vi /etc/my.cnf,创建文件并进入vi(Visual interface,一种文本编辑器)。
图4-6 打开my.cnf
(2) 按下i键进入编辑模式,开始修改参数。
如图4-8所示,增加如下参数:
对于区分夏令时和冬令时的地区,请根据实际时区进行时区设置。具体时区设置请参考官方网站文档:https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html。
[client]
port= 3306
loose-local-infile=1
[mysqld]
port= 3306
character-set-server = gbk
default-storage-engine = INNODB
skip-external-locking
max_allowed_packet = 200M
max_connections = 800
lower_case_table_names = 1
key_buffer_size = 384M
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
innodb_buffer_pool_size = 512M
innodb_strict_mode=0
default_authentication_plugin = mysql_native_password
default-time-zone = '+8:00'
local_infile=1
[mysqldump]
quick
max_allowed_packet = 200M
[mysql]
no-auto-rehash
default_character_set = gbk
local_infile=1
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer_size = 2M
[mysqlhotcopy]
interactive_timeout
图4-8 my.cnf文件内容
上述各参数说明详见下表。
|
参数名称 |
参数 |
说明 |
|
最大连接数 |
max_connections |
MySQL所允许的最大连接数。 用户也可以根据所安装的组件数调整最大连接数,每个组件/模块的连接数值请参考《H3C智能管理中心 用户手册》。 |
|
字符集 |
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时,立即产生错误,不会创建表和索引。 |
|
表名大小写忽略 |
lower_case_table_names |
对数据库中的表名是否区分大小写,取值为0时区分,为1时不区分。 |
|
最大包容量 |
max_allowed_packet |
数据包的最大容量。 |
|
时区 |
default-time-zone |
MySQL必须指定具体时区。仅当已创建和填充MySQL数据库中的时区信息表时,才能使用命名时区(如“欧洲/赫尔辛基”、“美国/东方”或“MET”)。 |
|
本地数据加载 |
local_infile |
是否允许使用load data local infile命令进行数据导入导出操作。值为1时表示启用;值为0时表示禁用。 |
|
事务隔离级别 |
transaction_isolation |
安装EIA组件时,请查看[mysqld]配置下看是否有“transaction_isolation”配置项: · 如果没有则增加transaction_isolation=READ-COMMITTED · 如果有则将配置项的值修改为READ-COMMITTED |
在MySQL服务器及客户端执行如下操作,配置支持文件批量导入数据。
(1) 登录数据库,命令如下:
mysql –u root –p
(2) 输入root用户密码,并按回车键,进入MySQL命令行。
(3) 依次执行下述语句,配置支持从文件批量导入数据。
SET GLOBAL local_infile=1;
SET GLOBAL connect_timeout=30;
图4-9 支持从文件批量导入数据
若采用mysqldump进行数据库备份时,会出现数据入库慢,导致数据积压的现象,会发现在数据备份的时间段内出现无数据或者数据量很少的情况。可通过修改数据库的配置文件对该情况进行优化,即修改/etc/my.cnf配置文件。
(1) 输入命令vi /etc/my.cnf,打开文件并进入vi(Visual interface,一种文本编辑器)。
(2) 按下i键进入编辑模式,开始修改参数。
[mysqldump]
single-transaction
(3) 按下Esc键返回的一般模式。
(4) 在一般模式下按下:wq,保存后退出vi。
MySQL安装完成后,用户可以根据实际需要修改MySQL文件的存放路径,下面以将数据库文件存放路径修改为/data/mysql_data举例说明。
(1) 停止MySQL服务
systemctl stop mysqld
(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-7所示。
在[mysqld]上面增加参数:
[mysql]
[client]
在[mysqld]下面增加参数:
socket = /data/mysql_data/mysql.sock
修改完成后保存退出。
(6) 启动MySQL服务
systemctl start mysqld
数据库文件存放路径修改完成。
停止MySQL服务,并卸载MySQL,如不确定所卸载组件名称,可以查询。依次执行如下所有命令:
systemctl stop mysqld
rpm -qa | grep mysql
rpm –e –-nodeps mysql-community-server-8.0.17-1.el7.x86_64
rpm –e –-nodeps mysql-community-client-8.0.17-1.el7.x86_64
rpm –e –-nodeps mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
rpm –e –-nodeps mysql-community-libs-8.0.17-1.el7.x86_64
rpm –e –-nodeps mysql-community-common-8.0.17-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-8.0.17-1.el7.x86_64
rpm –e –-nodeps mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
rpm –e –-nodeps mysql-community-libs-8.0.17-1.el7.x86_64
rpm –e –-nodeps mysql-community-common-8.0.17-1.el7.x86_64
执行结果如图5-2所示。
安装MySQL时,需要根据用户当前的语言环境,选择恰当的字符集。否则,可能导致数据库中的数据出现乱码。当出现这种情况时,请参照表4-1重新配置正确的字符集。
如果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>按钮,刷新智能部署监控代理。
