MySQL数据库运维管理教程

步骤一:挂载镜像安装依赖 由于MySQL安装过程需要依赖net-tools、numactl-libs、libaio、perl四个包,所以先从iso镜像中安装这四个包。 注意:在预赛和决赛竞赛环境中时,net-tools、numactl-libs、libaio、perl等依赖会提前安装在环境中。 注意

步骤一:挂载镜像安装依赖
由于MySQL安装过程需要依赖net-tools、numactl-libs、libaio、perl四个包,所以先从iso镜像中安装这四个包。
注意:在预赛和决赛竞赛环境中时,net-tools、numactl-libs、libaio、perl等依赖会提前安装在环境中。
注意:在训练阶段的容器环境中操作该步骤时,可以直接联网yum或dnf来安装这些依赖。
1. 使用XShell通过SSH连接到master节点:

ssh root@192.168.157.200

输入密码连接。
2. 输入以下命令创建两个文件夹:

mkdir /mnt/iso

mkdir /opt/centosDVD

一个用来存放iso镜像,一个用来挂载镜像。
3. 在Windows工作机上打开PowerShell,输入执行以下命令:

scp E:\BigData\Component\CentOS-7-x86_64-DVD-1804.iso root@192.168.157.200:/mnt/iso/

输入master节点的密码,等待将iso镜像包传输到master节点上。
4. 在XShell中执行以下命令:

mount -t iso9660 /mnt/iso/CentOS-7-x86_64-DVD-1804.iso /opt/centosDVD/

这会将镜像挂载到/opt/centosDVD/路径下。
5. 执行以下命令备份Yum源配置文件:

mkdir /opt/backup

mv /etc/yum.repos.d/* /opt/backup/

6. 执行以下命令创建本地Yum源文件:

vi /etc/yum.repos.d/local.repo

输入以下内容:

[local]

name=local

baseurl=file:///opt/centosDVD

enabled=1

gpgcheck=0

保存并退出VI编辑器。
7. 执行以下命令更新Yum缓存:

yum clean all

yum makecache

关于在安装yum包时卡住问题解决方案

# 清理旧的 RPM 数据库缓存

rm -rf /var/lib/rpm/__db*

# 重建 RPM 数据库

rpm --rebuilddb

# 再次验证

yum check

8. 执行以下命令用本地Yum源安装依赖包:

yum -y install net-tools numactl-libs libaio perl

9. 执行以下命令卸载镜像:

umount /opt/centosDVD/

步骤二:安装MySQL
1. 在Windows工作机上打开PowerShell,输入执行以下命令:

scp E:\BigData\Component\mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar root@192.168.157.200:/root/software/

输入master节点的密码,等待将MySQL包传输到master节点上。
2. 使用XShell通过SSH连接到master节点:

ssh root@192.168.157.200

输入密码连接。
3. 解压MySQL包

tar xvf /root/software/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /root/software/

4. 依次执行以下命令安装MySQL:
 注意:在Docker容器中时,先执行

yum install libncurses*

注意:在预赛和决赛竞赛环境中时,该依赖会提前安装在环境中。

rpm -ivh /root/software/mysql-community-common-5.7.25-1.el7.x86_64.rpm

rpm -ivh /root/software/mysql-community-libs-5.7.25-1.el7.x86_64.rpm

rpm -ivh /root/software/mysql-community-devel-5.7.25-1.el7.x86_64.rpm

rpm -ivh /root/software/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

rpm -ivh /root/software/mysql-community-client-5.7.25-1.el7.x86_64.rpm

rpm -ivh /root/software/mysql-community-server-5.7.25-1.el7.x86_64.rpm

步骤三:配置MySQL
1. 初始化 MySQL 数据库:

mysqld --initialize

这将创建**/var/lib/mysql/**目录,并生成一个初始密码。
2. 从日志文件中查看生成的初始密码:

grep password /var/log/mysqld.log

看到类似如下内容:

[Note] A temporary password is generated for root@localhost: gDoNyqt2tw?r

冒号后面的内容即为初始密码。
3. 设置目录权限:

chown -R mysql:mysql /var/lib/mysql/

这确保 /var/lib/mysql/ 目录以及其所有父级目录对 MySQL 用户有适当的权限。通常,这些目录的所有者应该是 MySQL 用户,组也应该是 MySQL 组。
4. 设置SELinux 安全上下文:

chown -R mysql:mysql /var/lib/mysql/

这将根据系统默认的 MySQL 数据目录设置 SELinux 安全上下文。
5. 启动 MySQL 服务

systemctl start mysqld

注意:在容器环境中时执行以下命令来启动:

nohup /usr/sbin/mysqld --defaults-file=/etc/my.cnf &

6. 使用以下命令登录 MySQL:

mysql -uroot -p

输入刚才的初始密码。
7. 修改 root 用户密码为 123456:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

8. 允许 root 用户从任何主机连接,可以使用以下命令:

use mysql;

update user set user.Host='%' where user.User='root';

9. 刷新权限:

FLUSH PRIVILEGES;

10. 退出 MySQL:

exit

11. 使用新密码登录 MySQL:

mysql -u root -p

输入新密码 123456,如果成功登录,则表示密码修改成功。
12. 验证配置,执行以下SQL:

select USER,HOST from mysql.user;

应该输出以下内容:

+---------------+-----------+

| USER          | HOST      |

+---------------+-----------+

| root          | %         |

| mysql.session | localhost |

| mysql.sys     | localhost |

+---------------+-----------+

3 rows in set (0.00 sec)

再次执行以下SQL:

show grants for 'root'@'%';

应该输出以下内容:

+-------------------------------------------------------------+

| Grants for root@%                                           |

+-------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION |

+-------------------------------------------------------------+

1 row in set (0.00 sec)

LICENSED UNDER CC BY-NC-SA 4.0