前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL单节点部署

MySQL单节点部署

原创
作者头像
弟大翻着洗
修改2024-08-09 18:26:15
1120
修改2024-08-09 18:26:15
举报
文章被收录于专栏:大数据组件部署

介绍

MySQL 是一个开源的关系型数据库管理系统,用于存储和管理数据。通俗来说,MySQL 就像一个电子表格或一个大型的文件柜,帮助我们组织、存储和检索信息。

例子:

想象一下一个图书馆。

数据存储:图书馆有很多书籍,每一本书都有标题、作者、出版日期等信息。图书馆的管理员将这些信息记录在一个系统中,这就类似于 MySQL 存储数据。

数据管理:当有人想借书时,管理员可以快速查询系统,查看这本书是否可借,或者当新书到货时,管理员可以将新书的信息添加到系统中。这就像 MySQL 让用户能够方便地管理和查询数据。

数据安全:图书馆可能会限制某些特定区域的访问,比如只允许工作人员进入的书库,确保只有授权人员能够修改书籍信息。这相当于 MySQL 的权限管理功能,保护数据的安全性。

部署

代码语言:shell
复制
# 切换到 /opt/software 目录下,创建一个mysql文件夹
# 将以下安装包和jar包上传至mysql文件夹
mysql-community-client-8.0.31-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
mysql-community-common-8.0.31-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-server-8.0.31-1.el7.x86_64.rpm
mysql-connector-j-8.0.31.jar

cd /opt/software 
mkdir mysql

# 创建一个部署脚本
vim install_mysql.sh

#!/bin/bash
set -x
[ "$(whoami)" = "root" ] || exit 1
[ "$(ls *.rpm | wc -l)" = "7" ] || exit 1
test -f mysql-community-client-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-common-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-libs-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm && \
test -f mysql-community-server-8.0.31-1.el7.x86_64.rpm || exit 1

# 卸载MySQL
systemctl stop mysql mysqld 2>/dev/null
rpm -qa | grep -i 'mysql\|mariadb' | xargs -n1 rpm -e --nodeps 2>/dev/null
rm -rf /var/lib/mysql /var/log/mysqld.log /usr/lib64/mysql /etc/my.cnf /usr/my.cnf

set -e
# 安装并启动MySQL
yum install -y *.rpm >/dev/null 2>&1
systemctl start mysqld

#更改密码级别并重启MySQL
sed -i '/\[mysqld\]/avalidate_password.length=4\nvalidate_password.policy=0' /etc/my.cnf
systemctl restart mysqld

# 更改MySQL配置
tpass=$(cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}')
cat << EOF | mysql -uroot -p"${tpass}" --connect-expired-password >/dev/null 2>&1
set password='000000';
update mysql.user set host='%' where user='root';
alter user 'root'@'%' identified with mysql_native_password by '000000';
flush privileges;
EOF


# 添加权限
chmod 777 ./install_mysql.sh

# 启动部署脚本
sh install_mysql.sh

测试

代码语言:shell
复制
# 登录mysql
mysql -uroot -p000000

# 查看当前用户状态
mysql> select user , host , plugin from mysql.user;
# 检查是否有 root  %  mtsql_native_password 这行数据,有就是加载成功
# 没有执行以下语句
mysql> alter user 'root'@'%' identified with mysql_native_password by '000000';

出现以下结果表示部署成功

导入练习数据(可选)

代码语言:shell
复制
source "/opt/data/gmall.sql"

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 部署
  • 测试
  • 出现以下结果表示部署成功
  • 导入练习数据(可选)
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档