Linux下MySQL的安装部署

打印 上一主题 下一主题

主题 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安装包

  1. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
复制代码
(2) 解压压缩包至opt文件夹下

  1. 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文件夹

  1. mv  /opt/mysql-8.0.33-linux-glibc2.12-x86_64 /opt/mysql8.0.33
复制代码
(4)创建用户组和密码

  1. # 创建用户组
  2. sudo addgroup mysql
  3. # 创建用户并将其添加到mysql组
  4. sudo adduser --ingroup mysql mysql
复制代码
(5)为mysql用户授权

  1. chown -R mysql.mysql /opt/mysql8.0.33
复制代码
(6)创建数据文件的存储位置

  1. mkdir /opt/mysql.8.33/mysql-data
复制代码
(7)初始化MySQL数据库

  1. cd bin
  2. ./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等。
  1. vim /etc/my.cnf
  2. [mysqld]
  3. basedir=/opt/mysql8.0.33
  4. datadir=/opt/mysql8.0.33/mysql-data
  5. socket=/opt/mysql8.0.33/mysql.sock
  6. character-set-server=utf8mb4
  7. collation-server=utf8mb4_unicode_ci
  8. skip-name-resolve
  9. log-error=/opt/mysql8.0.33/mysql-error.log
  10. pid-file=/opt/mysql8.0.33/mysql.pid
  11. skip-grant-tables
复制代码
(9)创建体系服务脚本

为了使MySQL服务能够随体系启动即开机自启,需要创建一个systemd服务脚本。这可以通过编辑或创建一个.service文件在/etc/systemd/system/目录下完成。
  1. cat > /etc/systemd/system/mysqld.service <<EOF
  2. [Unit]
  3. Description=MySQL Server
  4. After=syslog.target network.target
  5. [Service]
  6. Type=forking
  7. User=mysql
  8. Group=mysql
  9. PIDFile=/opt/mysql8.0.33/mysql.pid
  10. ExecStart=/opt/mysql8.0.33/bin/mysqld
  11. ExecReload=/opt/mysql8.0.33/bin/mysqladmin --socket=/opt/mysql8.0.33/mysql.sock reload
  12. ExecStop=/opt/mysql8.0.33/bin/mysqld --user=mysql --basedir=/opt/mysql8.0.33 --datadir=/opt/mysql8.0.33/mysql-data/ --remove
  13. Restart=on-failure
  14. RestartSec=10
  15. [Install]
  16. WantedBy=multi-user.target
  17. EOF
复制代码
(10)启用并启动MySQL服务

使用systemd工具启用并启动MySQL服务。
  1. systemctl daemon-reload
  2. systemctl enable mysqld
  3. systemctl start mysqld
复制代码
(11)检查MySQL服务状态

确保MySQL服务正在运行。
  1. systemctl status mysqld
复制代码
(12)设置免密登录

假如找不到MySQL打印的临时密码的可以通过修改my.cnf文件跳过密码(免密登录)
  1. #打开MySQL的配置文件my.cnf
  2. vim /etc/my.cnf
复制代码
在配置文件中找到[mysqld]部门,并添加skip-grant-tables指令。这个指令告诉MySQL服务器跳过权限表的验证,允许任何用户以任何密码登录。
  1. [mysqld]
  2. basedir=/opt/mysql8.0.33
  3. datadir=/opt/mysql8.0.33/mysql-data
  4. socket=/opt/mysql8.0.33/mysql.sock
  5. character-set-server=utf8mb4
  6. collation-server=utf8mb4_unicode_ci
  7. skip-name-resolve
  8. log-error=/opt/mysql8.0.33/mysql-error.log
  9. pid-file=/opt/mysql8.0.33/mysql.pid
  10. #添加这一句
  11. skip-grant-tables
复制代码
  保存my.cnf文件的更改。按Esc键输入 :wq即可
  重启MySQL服务以使配置见效。
  1. sudo systemctl restart mysql
复制代码
在MySQL服务器重启后,可以直接使用mysql命令登录到MySQL,而无需输入密码。
(13)修改密码

登录MySQL,并更改root用户的密码。
  1. mysql -u root -p
  2. ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  3. FLUSH PRIVILEGES;
  4. EXIT;
复制代码
(14)配置MySQL防火墙规则

假如使用了防火墙,需要添加规则以允许MySQL的端口(默以为3306)对外提供服务。
  1. firewall-cmd --permanent --add-port=3306/tcp
  2. firewall-cmd --reload
复制代码
2.使用Shell脚本文件安装MySQL.

   在此之前假如安装过MySQL将之前安装的删除干净后再执行Shell脚本文件
  (1)下载Shell脚本文件并传入服务器

Shell脚本小编已放在文章顶部下载即可
(2)修改Shell脚本文件的权限

  1. chmod +x mysql.sh
复制代码
(3)运行Shell脚本文件

  1. ./mysql.sh
复制代码
(4)根据提示安装MySQL



(5)重新见效环境变量

  1. source /etc/profile
复制代码
总结

通过本文,深入相识了MySQL在Linux体系上的安装与配置过程,还学习了怎样通过手动步调和Shell脚本自动化来完成部署。从解压软件包、配置用户权限,到初始化数据库和设置服务脚本。本文还先容了怎样通过修改配置文件实现免密登录,以及怎样安全地设置root用户的密码,这些都是数据库管理中不可或缺的安全措施。末了,我们夸大了配置防火墙规则以确保MySQL对外服务的安全性和可达性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表