Ubuntu系统创建mariadb数据库(mysql),开通局域网络内连接

news/2025/2/26 6:55:44

mariadbmysql_0">Ubuntu系统创建mariadb数据库mysql),开通局域网络内连接

1、安装数据库

如果你确定系统中没有安装 mariadb,可以使用以下命令进行安装:

sudo apt update
sudo apt install mariadb-server -y

如果你只想安装客户端,可以使用以下命令:

sudo apt install mariadb-client

2、启动数据库

可以使用以下命令启动它:

sudo systemctl start mariadb

若希望服务在系统启动时自动启动,可以使用以下命令设置:

sudo systemctl enable mariadb

3、测试登录

如果权限不足,可以尝试以 root 用户身份连接数据库

sudo mysql -u root -p

4、局域网内其它电脑连接数据库设置

步骤 1:确保 MariaDB 服务已启动并设置为开机自启

在 Ubuntu 系统中,使用以下命令来检查 MariaDB 服务的运行状态,并确保它在系统启动时自动启动:

# 检查MariaDB服务状态
sudo systemctl status mariadb

# 若MariaDB未运行,使用以下命令启动
sudo systemctl start mariadb

# 设置MariaDB服务开机自启
sudo systemctl enable mariadb
步骤 2:修改 MariaDB 配置文件以允许远程连接

默认情况下,MariaDB 只允许本地连接。你需要修改 MariaDB 的配置文件,使其监听所有可用的网络接口。

  1. 打开 MariaDB 配置文件50-server.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
  1. 找到bind-address这一行,将其值从127.0.0.1修改为0.0.0.0,表示监听所有可用的网络接口:
bind-address  = 0.0.0.0
  1. 保存并关闭文件(在nano编辑器中,按Ctrl + X,然后按Y,最后按Enter)。
  2. 重启 MariaDB 服务使配置生效:
sudo systemctl restart mariadb
步骤 3:创建允许远程连接的 MariaDB 用户

你需要创建一个新的 MariaDB 用户,并授予该用户从任何 IP 地址(%)连接到数据库的权限。

使用root用户登录到 MariaDB:

sudo mysql -u root -p

1.创建一个新用户并设置密码,这里以用户名为remote_user,密码为your_password为例:

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';

2.授予该用户对特定数据库的权限,如果你想让该用户拥有对所有数据库的所有权限,可以使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;

如果你只想让 remote_user 用户拥有某个特定数据库(例如 test_db)的权限,可以执行以下 SQL 语句:

GRANT SELECT, INSERT, UPDATE, DELETE ON test_db.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;

3.刷新权限使更改生效:

FLUSH PRIVILEGES;

4.退出 MariaDB:

EXIT;
步骤 4:配置防火墙以允许 MariaDB 端口访问

默认情况下,Ubuntu 系统的防火墙(ufw)可能会阻止外部对 MariaDB 端口(默认是 3306)的访问。你需要开放该端口:

# 允许3306端口的TCP流量
sudo ufw allow 3306/tcp

# 重新加载防火墙规则
sudo ufw reload
步骤 5:在其他局域网电脑上测试连接

在其他局域网内的电脑上,使用 MariaDB 客户端工具(如mysql命令行工具,因为 MariaDB 和 MySQL 客户端兼容性较好)来连接到 Ubuntu 系统中的 MariaDB 数据库

  • 使用mysql命令行工具连接:
mysql -h <Ubuntu系统的IP地址> -u remote_user -p

http://www.niftyadmin.cn/n/5868259.html

相关文章

C++ Primer 算法概述

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

MongoDB面试宝典【刷题系列】

文章目录 1、MySQL与MongoDB之间最基本的差别是什么?2、MongoDB成为最好NoSQL数据库的原因是什么?3、分析器在MongoDB中的作用是什么?4、如果用户移除对象的属性&#xff0c;该属性是否从存储层中删除?5、更新操作立刻fsync到磁盘?6、什么是master或primary?7、 数据在什…

利用go-migrate实现MySQL和ClickHouse的数据库迁移

1. 背景 在使用gorm时 , 尽管已经有了自动建表和钩子函数 . 但是在面临希望了解到数据库的变更 , 和插入一些系统字段时 , 以及最关键的数据库迁移的工作 . gorm显得稍微有点不便 . 在了解到migrate这项技术后 , 就使用go-migrate开发了一个可以迁移MySQL和ClickHouse数据库的…

Sqlserver安全篇之_隐藏实例功能和禁用SQL Server Browser服务

总结&#xff1a; 1、隐藏实例功能和禁用SQL Server Browser服务的功能一样&#xff0c;对应非默认实例(且这个默认实例是1433端口)的情况下&#xff0c;都是需要在连接字符串中提供端口号才能连接到实例 2、隐藏实例功能后&#xff0c;就算开启了SQL Server Browser服务&#…

JVM生产环境问题定位与解决实战(三):揭秘Java飞行记录器(JFR)的强大功能

提到飞行记录器&#xff0c;或许你的脑海中并未立刻浮现出清晰的画面&#xff0c;但一说起“黑匣子”&#xff0c;想必大多数人都能恍然大悟&#xff0c;知晓其重要性及用途。在航空领域&#xff0c;黑匣子作为不可或缺的设备&#xff0c;默默记录着飞行过程中的每一项关键数据…

1.1部署es:9200

安装es&#xff1a;root用户&#xff1a; 1.布署java环境 - 所有节点 wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm yum localinstall jdk-8u341-linux-x64.rpm -y java -version 2.下载安装elasticsearch - 所有节点 wget ftp://10.3.148.254/Note/Elk/…

Java进阶学习笔记7——权限修饰符

什么是权限修饰符&#xff1f; 就是用来限制类中的成员&#xff08;成员变量、成员方法、构造器、代码块…&#xff09;能够被访问的范围。 protected使用的比较少&#xff0c;但是程序员还是要阅读代码&#xff0c;看官方文档是怎么写的&#xff0c;都会接触到protected修饰…

Linux 之 Centos 安装Consul

sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo sudo yum -y install consul他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全&#xff0c;同时保证serv…