MariaDB在外网授权的坑

CentOS7无外网环境下MySQL8.0完整离线部署指南 本文详细介绍了在CentOS7无外网环境下,如何通过MySQL8.0二进制包进行完整离线部署。指南涵盖了从环境准备、依赖安装、用户与目录创建,到数据库初始化、服务配置及远程访问设置的全过程,并提供了关键的避坑技巧,帮助企业运维人员在内网环境中高效、稳定地搭建MySQL数据库服务。 阅读详情

当mysql部署完成之后,mysql将会读取/etc/hosts中对于服务器内网的host的定义,而阿里云服务器将会自动的将内网的ip地址添加到这个里面。如同下面:

[root@iZ23jhimygwZ ~]# cat /etc/hosts
127.0.0.1 localhost
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.xxx.xxx.xxx iz23jdwmygwz 

[mysql]> select user,password,host from user;
+------+-------------------------------------------+--------------+
| user | password                                  | host         |
+------+-------------------------------------------+--------------+
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | localhost    |
| root |                                           | iz23jdwmygwz |
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | 127.0.0.1    |
| root |                                           | ::1          |
|      |                                           | localhost    |
|      |                                           | iz23jdwmygwz |
|      |                                           | iz23jdwmygwz |
+------+-------------------------------------------+--------------+

默认的这些账号是由mysql_install_db命令来创建的。纯粹为了方便来操作。也能匿名登录本机。在考虑到安全性的问题的时候,他们还编写了一个mysql_secure_installation工具,中间编写了一些用于清理的函数。
这个里面也就顺带将自己内网连接的方式的密码设置为空了。而且当你以他的内网地址登录的时候是无需要密码的。如果这个时候我们添加了一个test账户来访问这个数据库,并且将密码设置成test。(注意:GRANT命令其实是不需要执行任何FLUSH PRIVILEGES; 很多网上的人都添加上去,也不去做实验。)

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
+------+-------------------------------------------+--------------+
| user | password                                  | host         |
+------+-------------------------------------------+--------------+
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | localhost    |
| root |                                           | iz23jdwmygwz |
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | 127.0.0.1    |
| root |                                           | ::1          |
|      |                                           | localhost    |
|      |                                           | iz23jdwmygwz |
| test | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 | %            |
+------+-------------------------------------------+--------------+

如果当我们在本地,使用他的内网地址来访问,就也将会被

|      |                                           | localhost    |
|      |                                           | iz23jdwmygwz |

代替掉。

mysql -utest -ptest
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)

而无需任何的密码:

 mysql -utest
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2667
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

如果想解决掉这个问题,我们需要将服务器中的这些授权都删除掉:

MariaDB [mysql]> delete from user where user='' and host='iz23jdwmygwz';
Query OK, 1 row affected (0.07 sec)

MariaDB [mysql]> delete from user where user='' and host='localhost';
Query OK, 1 row affected (0.00 sec)
MariaDB [mysql]> select user,password,host from user;
+------+-------------------------------------------+--------------+
| user | password                                  | host         |
+------+-------------------------------------------+--------------+
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | localhost    |
| root |                                           | iz23jdwmygwz |
| root | *45C964FD6EC6A75DA5F19BD625CD6A9D1B91B3FF | 127.0.0.1    |
| root |                                           | ::1          |
| test | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 | %            |
+------+-------------------------------------------+--------------+
5 rows in set (0.00 sec)

最后就能通过-utest -ptest和设置成自己的iz23jdwmygwz对应的hosts地址也能访问。

[root@iz23jdwmygwz ~]# mysql -utest -ptest -h127.0.0.1
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2672
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit
Bye
[root@iz23jdwmygwz ~]# mysql -utest -ptest -hiz23jdwmygwz
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2673
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

其实在自带的工具mysql_secure_installation里面也有类似的东西


echo "By default, a MariaDB installation has an anonymous user, allowing anyone"
echo "to log into MariaDB without having to have a user account created for"
echo "them.  This is intended only for testing, and to make the installation"
echo "go a bit smoother.  You should remove them before moving into a"
echo "production environment."
echo

echo $echo_n "Remove anonymous users? [Y/n] $echo_c"

read reply
if [ "$reply" = "n" ]; then
    echo " ... skipping."
else
    remove_anonymous_users
fi
echo

remove_anonymous_users() {
    do_query "DELETE FROM mysql.user WHERE User='';"
    if [ $? -eq 0 ]; then
        echo " ... Success!"
    else
        echo " ... Failed!"
        clean_and_exit
    fi

    return 0
}
Android终端Termux安装MariaDB/MySQL数据库 前言 Android移动设备并非设计为服务器(尽管其中一些功能强大),但是,随着技术的进步以及我们可以用手机做更多的事情,总是很有趣的。 今天,借助Termux应用程序,我们将了解如何在Android上安装MySQL或MariaDB数据库。为此,只需执行一些简单的命令即可,我们将在Android中拥有一个MySQL数据库服务器;功能齐全,随时可以执行查询。如果我们想将其投入生产,只要我们配置安... 阅读详情

相关推荐

Centos8 yum成功配置安装Mariadb数据库

MySQL 已经不再包含在 CentOS 8 的源中,而改用了 MariaDB; 0.安装准备 全部删除之前的MySQL/MariaDB数据 删MariaDB rpm -qa | grep MariaDB rpm -qa | grep mariadb 搜索 MariaDB 现有的包; 如果存在,使用 rpm -e --nodeps MariaDB-* 全部删除; (删不了的话,就一个一个...

公众号:软小糖 4689

mariadb访问权限设置

我们想让ip为172.25.254.3这台主机访问。直接连会报错,需要给权限。那么如何更改权限呢? [root@foundation3 network-scripts]# mysql -uroot -predhat -h172.25.254.3 ERROR 1045 (28000): Access denied for user 'root'@'foundation3.ilt.example.co...

淋巴cell学习py之路 2492

CentOS 8 LEMP 部署避坑指南:Nginx+PHP+MariaDB 深度协同配置

LEMP 是 Linux、Nginx、MySQL(或 MariaDB)、PHP 构成的现代 Web 应用基础栈,其核心在于组件间安全、高效、可验证的通信机制。在 CentOS 8 中,由于 systemd 服务模型强化、dnf 包管理重构、SELinux 策略默认启用及 AppStream 仓库分层,传统 CentOS 7 的部署逻辑已失效。理解 Nginx 如何通过 Unix socket 与 PHP-FPM 协同、PHP 如何使用 mysqlnd 驱动连接 MariaDB、以及 SELinux 上下文如

weixin_33709219的博客 768

MariaDB允许外网访问

1. 登录数据库 mysql -uroot -p 2.输入命令 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '外网访问密码' WITH GRANT OPTION; 3.刷新权限 flush privileges; 4.查看现有用户 select User, host from mysql.user; 5.删除用户 ...

后端菜鸡 3442

K型热电偶分度表读取方法

K型热电偶分度表读取方法

guaizaiguaizai的博客 5889

ComfyUI入门学习-教程篇

深入的 ComfyUI 教程,不同功能节点的详细指南。一个比较有意思的Comfyui教程,动画式学习。从安装到基础教程、高级教程再到各种工作流。非常全面,有教程有搭建好的工作流。

wincyfu的博客 1324

linux下mysql(maridb)本机可以访问,远程无法访问的解决

linux版本为centos7. 通过网上的教程设置mysql用户表的ip访问后,还是不能访问的话,使用telnet去监听一下服务器的3306端口是否能够通, 如果失败的话,说明是该端口的对外访问没有打开。 使用 iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT 开启3306端口外部的访问。 转载于:https://www.cnb...

asz3343的博客 351

新手必看:四旋翼无人机PID调参实战指南(附常见问题排查)

本文为四旋翼无人机新手提供PID调参实战指南,详细解析Kp、Ki、Kd参数的实际意义及调参技巧,包含常见问题排查方法。通过系统化的调参流程和实用参考表,帮助用户快速掌握无人机飞行控制核心技能,避免常见错误,提升飞行稳定性与响应性能。

k0l1m2n3o的博客 598

mariadb(MySql)设置远程访问权限

【问题】mariadb(MySql)安装之后,本地连接mysql是可以的,但是远程的机器不能连接和访问。【解决】修改mysql远程连接的ip限制配置。【步骤】1.本地mysql客户端连接mysql mysql -u root -p 2.执行sql语句: 新安装的数据库 可以设置  /etc/my.cnf        skip-grant-tables=1(跳过密码验证)  ...

weixin_33698043的博客 208

【ChatGPT】实用 Prompt 指令大全 —— 一文教你如何更好地挖掘 GPT 的价值

ChatGPT 是由 OpenAI 开发的一种先进的大型语言生成模型,能够理解和生成准确、自然且连贯的文本。文本生成数据分析内容审核语义理解自然语言推理以及其他众多任务ChatGPT是一种基于GPT-3.5架构的大型语言模型,由OpenAI公司开发。该模型在自然语言处理领域有着广泛的应用,可以用于文本生成、文本分类、情感分析、问答系统等任务。本文将从模型的架构、训练方式、优缺点等方面对ChatGPT进行详细介绍。一、模型架构。

AI天才研究院 2万+

十二种嵌入式通信协议

嵌入式通信协议选型核心要点解析 在嵌入式系统开发中,通信协议选型直接影响项目成败。本文系统梳理了12种主流协议,从三个维度提供选型指南: 板级通信协议: I²C:双线制,适合传感器连接(温湿度、RTC等) SPI:高速全双工,适用于Flash存储、TFT屏等 UART:异步串行,常用于调试日志输出 总线通信协议: CAN:汽车电子首选,支持多主节点和硬件仲裁 LIN:低成本单线方案,适用于车窗控制等场景 RS485:工业自动化主力,最长传输距离1200米 Modbus:工业领域通用协议,支持RTU/TCP格

qq_37999850的博客 247

mariadb_Access denied for user ‘root‘@‘localhost‘

2,重启服务器 systemctl restart mariadb。本地安装了mariadb ,在登录的时候出现错误。参照网络上的教程最终解决了。5,最后记着再开启权限表。4,设置网络访问权限。

gc063tzf的专栏 853

智能手表竞品分析与市场调研报告

本报告旨在通过调研当前主流智能手表产品的功能特点、市场表现、用户反馈、定价策略等方面,辅助我司即将立项的Aurora Watch S1产品在功能定义、目标用户、定价区间、差异化竞争等方面做出科学决策。 调研范围包括国内外中端价位主流品牌(¥199~¥999),重点关注小米、华为、荣耀、Amazfit、Redmi、Haylou 等品牌的热销型号。

hoony123的博客 7万+

Mariadb数据库创建用户并且授权

Mariadb数据库的用户创建与授权一、创建一个测试数据库二、创建一个本地访问数据库的账户1. 参数解释:三、给测试账户分配权限1. 分配所有权限2. 分配部分权限 一、创建一个测试数据库 -- 创建数据库 CREATE DATABASE test; 二、创建一个本地访问数据库的账户 -- 创建用户 CREATE USER 'username' @ 'localhost' IDENTIFIED ...

HenryHuang的博客 9440

C语言使用开源库libusb进行USB设备操作

https://libusb.info/libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform AP

m0_60352504的博客 1553

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MariaDB数据库用户创建/删除及权限授权/撤回

1.MariaDB数据库创建用户 1.1 命令 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 1.2 参数 username:(jack) 创建的用户名 host:(192.168.13.34) 指定该用户在哪个主机上可以登陆, 如果是本地用户可用localhost, 如果想让该用户可以从...

Ping_Pig的博客 6100

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CentOS8 安装 MariaDB数据库

目录一、安装MariaDB1.1 创建MariaDB.repo文件1.2 将下面的配置复制到MariaDB.repo文件1.3 执行安装命令二、初始化MariaDB2.1 启动MariaDB2.2 初始化MariaDB配置三、配置MariaDB的字符集3.1 进入/etc/my.cnf文件3.2 在 !includedir /etc/my.cnf.d 下面,输入如下内容:3.3 重启mariadb3.4 进入MariaDB查看字符集 一、安装MariaDB 1.1 创建MariaDB.repo文件 vim

TengYu456的博客 2989

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

termux手机端安装mysql(MariaDB)

mysql与mysqld的区别:mysqld 是服务端程序(即MySQL的服务器)要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库;MariaDB使用这些表来管理特权,角色和插件。或者,使用单词“MySQL”取其进程 ID ,使用命令 grep,然后杀死他们kill -9 [ID],-9 是发送终止信号。不过,上面的启动方法一旦启动,就什么也不能干,只能新开一个会话,连进程什么时候挂了也不知道。初始的 Mysql 包含两个用户,一个是 root, 另一个是 Termux 的用户名。

m0_64288219的博客 6431

Deep Linux下mariadb 的远程访问

Mariadb安装完成后,需要以下设置才可以实现远程访问。 1、通过以下命令启动mariadb服务: systemctl start mariadb(mysql); 2、通过以下命令设置开机启动mariadb systemctl enable mariadb(mysql) 3、配置字符集 vi /etc/my.cnf init_connect='SET collation_connection = utf8_unicode_ci' init_conne...

mingshanxiushui88的专栏 464

源码安装及配置mariadb-10.5.8

源码下载 ​ wgethttps://mirrors.nju.edu.cn/mariadb//mariadb-10.5.8/source/mariadb-10.5.8.tar.gz tar zxvfmariadb-10.5.8.tar.gz; cdmariadb-10.5.8; mkdir build;cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/mariadb; make -j40; make install ​ 安装数据库引擎 cd /mariad...

Amazing 1082

设置MariaDB,创建新库,新用户并授权其可以从任何主机登录

-注意所有对用户的授权都是以 用户名@'%' 的形式出现的,这表示对MariaDB而言,用户天生就是加了登录点限制的存在。MariaDB [(none)]> create user 要建的用户名@'%' identified by '密码';MariaDB [(none)]> grant all on 刚建的库名.* to 刚建的用户@'%';这里的root是指MariaDB的管理员用户,和系统的root不搭边,只是同名而已。5、将刚建的库的所有权限授权给刚新建的用户。

ppp17的博客 1346

docker 安装 mysql5.7与mariadb:10

1.安装mysql5.7 docker镜像 拉取官方mysql5.7镜像 docker pull mysql:5.7 mkdir -p /data/mysql/data /data/mysql/logs /data/mysql/conf touch /data/mysql/conf/my.cnf docker run --restart=always -p 13306:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/m.

jialiu111111的博客 638

Liunx下安装MariaDB

Liunx安装MariaDB数据库

qq_45808279的博客 321
上一篇: C语言利用openSSL库DES模块加密
下一篇: django+js+ajax刷新页面
erlang_hell
博客等级 码龄14年 57粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值