• Linux服务器安装MariaDB数据库,配置linux防火墙策略


    一:安装目录

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

    cd /usr/local/src/
    
    • 1

    二:安装数据库

    yum install mariadb-server         ##安装mariadb数据库
    yum clean all                      ##清空已安装文件   如果下载失败之后执行的
    
    • 1
    • 2

    在这里插入图片描述

    三:确认下载

    在这里插入图片描述

    四:安装完成提示

    在这里插入图片描述#

    五:数据库启动

    systemctl start mariadb                  启动命令
    systemctl restart mariadb                重启命令
    systemctl stop mariadb                   关闭命令
    systemctl enable mariadb                 设置开机自启
    systemctl disable mariadb                关闭开机自启
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

    Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.
    
    • 1
    • cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

    • cp: overwrite ‘/etc/my.cnf’? y

    • systemctl start mariadb.service

    六:数据库初始化操作

    mysql_secure_installation
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

    八:关于连接数据的说明

    8.1 说明

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

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

    在这里插入图片描述

    8.3 配置Linux数据库权限

    8.3.1 切换数据库mysql

    show databases;            #查看服务器有哪些数据库
    
    • 1

    在这里插入图片描述
    切换mysql数据库

    8.3.2 修改数据库表

    1)检查数据表

    show tables;        #查看数据表
    
    • 1

    在这里插入图片描述
    2)查看user表的user,password,host

    select host,user,password from user;
    
    • 1

    在这里插入图片描述
    给root用户添加权限,执行如下sql语句

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    
    • 1

    3) 刷新数据库权限

    flush privileges;               ##刷新数据库权限
    
    • 1

    在这里插入图片描述

    九:配置linux防火墙策略

    9.1 检查防火墙状态

    firewall-cmd --state
    
    • 1

    在这里插入图片描述

    9.2 防火墙配置

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

    systemctl disable firewalld.service
    systemctl enable firewalld.service
    
    • 1
    • 2

    9.3 手动关闭防火墙

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

    systemctl start firewalld.service     #开启防火墙
    systemctl stop firewalld.service      #关闭防火墙
    
    • 1
    • 2

    在这里插入图片描述

    9.4 手动开放防火墙端口

    1)检查防火墙开放的端口

    firewall-cmd --list-ports
    
    • 1
    1. 检查端口是否开放
    firewall-cmd --query-port 80/tcp
    
    • 1

    在这里插入图片描述
    3) 开启防火墙

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    • 1

    在这里插入图片描述
    4)移除端口

    firewall-cmd --zone=public --remove-port=9090/tcp --permanent
    
    • 1

    在这里插入图片描述
    5) 关于防火墙操作的解释
    –zone #作用域
    –add-port=80/tcp #添加端口,格式为:端口/通讯协议
    –remove-port=80/tcp #移除端口,格式为:端口/通讯协议
    –permanent #永久生效,没有此参数重启后失效
    6)重启防火墙

    firewall-cmd --reload
    
    • 1

    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的其它依赖

    rpm -qa | grep -i mysql
    
    • 1

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

    systemctl status mysqld    #查看mysql状态
    systemctl stop mysqld     #关闭数据库
    systemctl status mysqld     #再次查看,发现已经关闭
    
    • 1
    • 2
    • 3

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

    [root@localhost ~] rm -rf /var/lib/mysql/* #删除mysql目录下所以文件
    [root@localhost ~] rm -rf /var/log/mysqld.log #删除日志
    
    • 1
    • 2

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

    [root@localhost ~] touch /var/log/mysqld.log
    [root@localhost ~] chown mysql.mysql /var/log/mysqld.log
    
    • 1
    • 2

    8)重新启动mysql

    [root@localhost ~] systemctl restart mysqld
    
    • 1

    9)初始化mysql

    [root@localhost ~] mysql_secure_installation
    
    • 1

    10)查看mysql

    [root@localhost ~]# grep password /var/log/mysqld.log
    
    • 1

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

  • 相关阅读:
    好分期 Prober 自动化性能监控技术实践
    《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)
    【ShardingSphere】单实例模式创建分片表、广播表、单表
    vue:实例,挂载,模板语法,数据绑定,Object.defineProperty使用
    【Kafka从成神到升仙系列 四】你真的了解 Kafka 的缓存池机制嘛
    什么是DDoS引导程序IP Stresser?
    spring自定义属性编辑器
    RK356x U-Boot研究所(命令篇)3.3 env相关命令的用法
    智能化社区会给我们的生活带来什么新体验?
    动态库和静态库的制作
  • 原文地址:https://blog.csdn.net/suiyishiguang/article/details/126769551