从零部署 MySQL 数据库:Linux 安装与防火墙策略全解析

一:安装目录

安装到指定目录下,此时我们安装在usr/local/src目录下

bash 复制代码
cd /usr/local/src/

二:安装数据库

bash 复制代码
yum install mariadb-server         ##安装mariadb数据库
yum clean all                      ##清空已安装文件   如果下载失败之后执行的

三:确认下载

四:安装完成提示

五:数据库启动

bash 复制代码
systemctl start mariadb                  启动命令
systemctl restart mariadb                重启命令
systemctl stop mariadb                   关闭命令
systemctl enable mariadb                 设置开机自启
systemctl disable mariadb                关闭开机自启

注:启动数据库报错,解决方案

执行systemctl start mariadb.service后终端控制台报如下错误:

bash 复制代码
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
  • cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

  • cp: overwrite '/etc/my.cnf'? y

  • systemctl start mariadb.service

六:数据库初始化操作

bash 复制代码
mysql_secure_installation

七:测试用户名和密码是否有效

八:关于连接数据的说明

8.1 说明

  • 1.如果需要远程链接数据库必需通过防火墙
  • 2.如果远程访问数据库必须开通权限,否则拒绝连接

8.2 配置数据库权限配置说明

8.3 配置Linux数据库权限

8.3.1 切换数据库mysql

bash 复制代码
show databases;            #查看服务器有哪些数据库

切换mysql数据库

8.3.2 修改数据库表

1)检查数据表

bash 复制代码
show tables;        #查看数据表

2)查看user表的user,password,host

bash 复制代码
select host,user,password from user;

给root用户添加权限,执行如下sql语句

bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

3) 刷新数据库权限

bash 复制代码
flush privileges;               ##刷新数据库权限

九:配置linux防火墙策略

9.1 检查防火墙状态

bash 复制代码
firewall-cmd --state

9.2 防火墙配置

防火墙有一个配置文件,表示当linux启动时防火墙应该如何操作!! 需求:告诉Linux以后开机不需要启动防火墙

bash 复制代码
systemctl disable firewalld.service
systemctl enable firewalld.service

9.3 手动关闭防火墙

说明:通过命令手动将防火墙关闭

bash 复制代码
systemctl start firewalld.service     #开启防火墙
systemctl stop firewalld.service      #关闭防火墙

9.4 手动开放防火墙端口

  1. 防火墙开放的端口
bash 复制代码
firewall-cmd --list-ports
  1. 检查端口是否开放
bash 复制代码
firewall-cmd --query-port 80/tcp
  1. 开启防火墙
bash 复制代码
firewall-cmd --zone=public --add-port=80/tcp --permanent
  1. 移除端口
bash 复制代码
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
  1. 关于防火墙操作的解释 --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --remove-port=80/tcp #移除端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 6)重启防火墙
bash 复制代码
firewall-cmd --reload

9.5 数据库远程测试连接

成功连接服务器数据库

9.6 导入需要的数据库

如图,选择你需要的数据库,单击右键,选择转储SQL文件 在服务器数据库创建你需要导入的数据库(新建数据库以后再导入,否则会报错)

9.7 数据库导入成功

十:linux中的mysql数据库不能初始化

问题:初始化mysql时,一直报错

报错代码:Enter current password for root (enter for none): ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方案:这个时候你的想法可以是先卸载mysql,之后重新安装数据库,但是重新安装数据库之后因为没有删除mysql文件,只是删除了mysql的软件和依赖包,并没有用

1)先找mysql依赖包和安装包 查包名:rpm -qa|grep -i mysql 删除命令:rpm -e --nodeps 包名 2)查看已安装的mysql 命令:rpm -qa | grep -i mysql 3)卸载mysql 命令:yum remove mysql-community-server-5.6.36-2.el7.x86_64 4)查看mysql的其它依赖

bash 复制代码
rpm -qa | grep -i mysql

5)这个时候你应该想linux彻底清楚mysql,彻底清除mysql就是将mysql的数据表和mysql日志删除。 首先关闭mysql:

bash 复制代码
systemctl status mysqld    #查看mysql状态
systemctl stop mysqld     #关闭数据库
systemctl status mysqld     #再次查看,发现已经关闭

6)删除数据库中所有的文件及日志

bash 复制代码
[root@localhost ~] rm -rf /var/lib/mysql/* #删除mysql目录下所以文件
[root@localhost ~] rm -rf /var/log/mysqld.log #删除日志

7)创建日志文件并给其加属主和属组,使mysql能调用该文件

bash 复制代码
[root@localhost ~] touch /var/log/mysqld.log
[root@localhost ~] chown mysql.mysql /var/log/mysqld.log

8)重新启动mysql

bash 复制代码
[root@localhost ~] systemctl restart mysqld

9)初始化mysql

bash 复制代码
[root@localhost ~] mysql_secure_installation

10)查看mysql

bash 复制代码
[root@localhost ~]# grep password /var/log/mysqld.log

如果输出的是没有任何值的,那就是直接设置mysql密码。

相关推荐
三体世界35 分钟前
Mysql基本使用语句(一)
linux·开发语言·数据库·c++·sql·mysql·主键
TT-Kun36 分钟前
Linux 上手 UDP Socket 程序编写(含完整具体demo)
linux·计算机网络·udp
一川风絮千片雪1 小时前
【环境配置】Linux/Ubuntu24.04 无图形界面安装显卡驱动
linux·运维·服务器
Danileaf_Guo2 小时前
Ubuntu 18.04快速配置WireGuard互联
linux·运维·服务器·ubuntu
koboides3 小时前
我的第一个开源项目-jenkins集成k8s项目
linux·运维·云原生·容器·kubernetes·jenkins
yuxb733 小时前
Ansible 基础到实操笔记
linux·笔记·ansible
一颗星的征途4 小时前
java循环分页查询数据,任何把查询到的数据,分批处理,多线程提交到数据库清洗数据
java·数据库·mysql·spring cloud
Warren986 小时前
MySQL,Redis重点面试题
java·数据库·spring boot·redis·mysql·spring·蓝桥杯
檀越剑指大厂6 小时前
【Linux系列】服务器 IP 地址查询
linux·服务器·tcp/ip