论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
PostgreSQL
›
Linux下MySQL的安装部署
Linux下MySQL的安装部署
南七星之家
金牌会员
|
2024-9-2 03:29:40
|
显示全部楼层
|
阅读模式
楼主
主题
882
|
帖子
882
|
积分
2648
媒介
MySQL,作为环球最受欢迎的开源关系型数据库管理体系之一,以其卓越的性能、可靠性及广泛的社区支持而著名。无论是初创企业还是大型跨国公司,MySQL都是构建高效应用和服务的首选数据库解决方案。本文旨在为那些盼望在Linux环境中部署MySQL的用户,提供一个全面、详细的安装与配置教程。我们将从基础的软件包下载开始,逐步深入到体系服务脚本的创建,以及怎样通过Shell脚本简化安装过程。通过本教程,您将能够把握MySQL的安装部署。
一、MySQL是什么?
MySQL是一个流行的关系型数据库管理体系,由瑞典MySQL AB公司开辟,现属于Oracle公司的产物。它以高性能、灵活性、易用性和开源特性著称,广泛应用于Web应用、企业级应用以及嵌入式体系等多个范畴。MySQL支持多种操作体系,包括Windows、Linux和MacOS,而且使用布局化查询语言(SQL)进行数据库操作。
二、MySQL安装部署(两种)
1.手动安装MySQL
(1) 下载MySQL安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
复制代码
(2) 解压压缩包至opt文件夹下
tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz -C /opt
复制代码
(3)重定名 mysql-8.0.33-linux-glibc2.12-x86_64文件夹
mv /opt/mysql-8.0.33-linux-glibc2.12-x86_64 /opt/mysql8.0.33
复制代码
(4)创建用户组和密码
# 创建用户组
sudo addgroup mysql
# 创建用户并将其添加到mysql组
sudo adduser --ingroup mysql mysql
复制代码
(5)为mysql用户授权
chown -R mysql.mysql /opt/mysql8.0.33
复制代码
(6)创建数据文件的存储位置
mkdir /opt/mysql.8.33/mysql-data
复制代码
(7)初始化MySQL数据库
cd bin
./mysqld --user=mysql --basedir=/opt/mysql-8.0.33 --datadir=/opt/mysql-8.0.33/mysql-data/ --initialize
复制代码
在初始化完成后,MySQL将打印临时的root用户密码。
(8)编辑MySQL的配置文件
在初始化完成后,需要编辑MySQL的配置文件以设置服务器的运行参数。通常,这个文件位于/etc/my.cnf或/etc/mysql/my.cnf,但因为是自定义安装,大概需要手动创建或编辑一个配置文件。这里,我们可以使用vim命令,假如没有my.cnf则直接创建,并设置必要的参数,如basedir、datadir和socket等。
vim /etc/my.cnf
[mysqld]
basedir=/opt/mysql8.0.33
datadir=/opt/mysql8.0.33/mysql-data
socket=/opt/mysql8.0.33/mysql.sock
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-name-resolve
log-error=/opt/mysql8.0.33/mysql-error.log
pid-file=/opt/mysql8.0.33/mysql.pid
skip-grant-tables
复制代码
(9)创建体系服务脚本
为了使MySQL服务能够随体系启动即开机自启,需要创建一个systemd服务脚本。这可以通过编辑或创建一个.service文件在/etc/systemd/system/目录下完成。
cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=syslog.target network.target
[Service]
Type=forking
User=mysql
Group=mysql
PIDFile=/opt/mysql8.0.33/mysql.pid
ExecStart=/opt/mysql8.0.33/bin/mysqld
ExecReload=/opt/mysql8.0.33/bin/mysqladmin --socket=/opt/mysql8.0.33/mysql.sock reload
ExecStop=/opt/mysql8.0.33/bin/mysqld --user=mysql --basedir=/opt/mysql8.0.33 --datadir=/opt/mysql8.0.33/mysql-data/ --remove
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
复制代码
(10)启用并启动MySQL服务
使用systemd工具启用并启动MySQL服务。
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
复制代码
(11)检查MySQL服务状态
确保MySQL服务正在运行。
systemctl status mysqld
复制代码
(12)设置免密登录
假如找不到MySQL打印的临时密码的可以通过修改my.cnf文件跳过密码(免密登录)
#打开MySQL的配置文件my.cnf
vim /etc/my.cnf
复制代码
在配置文件中找到[mysqld]部门,并添加skip-grant-tables指令。这个指令告诉MySQL服务器跳过权限表的验证,允许任何用户以任何密码登录。
[mysqld]
basedir=/opt/mysql8.0.33
datadir=/opt/mysql8.0.33/mysql-data
socket=/opt/mysql8.0.33/mysql.sock
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-name-resolve
log-error=/opt/mysql8.0.33/mysql-error.log
pid-file=/opt/mysql8.0.33/mysql.pid
#添加这一句
skip-grant-tables
复制代码
保存my.cnf文件的更改。按Esc键输入 :wq即可
重启MySQL服务以使配置见效。
sudo systemctl restart mysql
复制代码
在MySQL服务器重启后,可以直接使用mysql命令登录到MySQL,而无需输入密码。
(13)修改密码
登录MySQL,并更改root用户的密码。
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
EXIT;
复制代码
(14)配置MySQL防火墙规则
假如使用了防火墙,需要添加规则以允许MySQL的端口(默以为3306)对外提供服务。
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
复制代码
2.使用Shell脚本文件安装MySQL.
在此之前假如安装过MySQL将之前安装的删除干净后再执行Shell脚本文件
(1)下载Shell脚本文件并传入服务器
Shell脚本小编已放在文章顶部下载即可
(2)修改Shell脚本文件的权限
chmod +x mysql.sh
复制代码
(3)运行Shell脚本文件
./mysql.sh
复制代码
(4)根据提示安装MySQL
(5)重新见效环境变量
source /etc/profile
复制代码
总结
通过本文,深入相识了MySQL在Linux体系上的安装与配置过程,还学习了怎样通过手动步调和Shell脚本自动化来完成部署。从解压软件包、配置用户权限,到初始化数据库和设置服务脚本。本文还先容了怎样通过修改配置文件实现免密登录,以及怎样安全地设置root用户的密码,这些都是数据库管理中不可或缺的安全措施。末了,我们夸大了配置防火墙规则以确保MySQL对外服务的安全性和可达性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
南七星之家
金牌会员
这个人很懒什么都没写!
楼主热帖
详讲Java开发中的六个常用API(Math,S ...
MySQL并行复制(MTS)原理(完整版) ...
【K8S】K8S入门基础知识
软件项目管理 3.5.敏捷生存期模型 ...
java中Collections.addAll方法具有什么 ...
鸿蒙到底是不是安卓?
BOS EDI 项目 Excel 方案开源介绍 ...
云原生之 Docker篇 Docker Stack介绍及 ...
postman结合newman生成测试报告 ...
ArrayList分析2 :Itr、ListIterator以 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表