当前位置: 首页 > news >正文

termux手机端安装mysql(MariaDB)

目录

  • 1 下载MariaDB
  • 2 配置MariaDB
  • 3 启动MariaDB服务器
        • 查看进程pid
        • 杀死进程
  • 4 登录 Mysql
    • termux用户登录MySQL
    • root用户登录MySQL
  • 5 配置 MariaDB 远程登录
    • 创建一个可远程登录的用户:
    • 用户授权:
    • 刷新授权:
  • 6 停止 MariaDB 服务器
  • 7 可选,但建议:安全的 MariaDB
  • 8 远程连接MariaDB

1 下载MariaDB

Termux 安装 mariadb 很简单,只需要一行代码就行了。

pkg install mariadb

中间提示“需要下载28m包……”,直接输入 Y 确认即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XntGr2Z3-1677509246054)(C:\Users\25683\AppData\Roaming\Typora\typora-user-images\image-20230227220302137.png)]

**这里有一点需要注意:**如果安装或者启动失败可能是因为没有名为 my.cnf.d 的目录。然后,必须创建该目录,导航到如下的位置查看该目录是否存在:

cd /data/data/com.termux/files/usr/etc

使用命令 ls 查看 etc 目录下的内容,如果目录下没有出现名为 my.cnf.d 的文件夹,则使用如下命令创建一个:

mkdir my.cnf.d

如果 my.cnf.d 目录已存在,则不执行任何操作,然后返回主页:

cd $home

2 配置MariaDB

一旦创建目录(如果目录不存在),我们将执行以下命令:

mysql_install_db

mysql_install_db 初始化 MariaDB 数据目录,并在数据库中创建 系统表mysql(如果不存在)。MariaDB使用这些表来管理特权,角色和插件。

3 启动MariaDB服务器

方法 1 启动 MariaDB 与启动 mysql 的命令一样,只要一行代码:

mysqld

不过,上面的启动方法一旦启动,就什么也不能干,只能新开一个会话,连进程什么时候挂了也不知道。

可以用 linux 下的命令 nohup 来后台启动 mysqld。

nohup mysqld &

方法 2

mysqld_safe -u root &

mysqld_safe 与 root 用户一起运行的;“&”号将在后台运行。

mysql与mysqld的区别:mysqld 是服务端程序(即MySQL的服务器)要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库;mysql 是命令行客户端程序。

mysqld_safe 与 mysqld 区别:直接运行 mysqld 程序来启动 MySQL 服务的方法很少见。mysqld_safe 脚本会在启动 MySQL 服务器后继续监控其运行情况,并在其死机时重新启动它。mysql.server 脚本其实也是调用 mysqld_safe 脚本去启动 MySQL 服务器的。

mysqld_safe 相当于多了一个守护进程,当 mysqld 挂了会自动把 mysqld 进程拉起来。

查看进程pid

Termux 下输入命令:

ps aux|grep mysql

可以看到mysql的进程号

杀死进程

输入命令:

kill -9 进程号

4 登录 Mysql

初始的 Mysql 包含两个用户,一个是 root, 另一个是 Termux 的用户名。

root 用户无法登陆,所以只能先登录 Termux 用户了,然后修改root密码。

termux用户登录MySQL

whoami 命令用于获取当前用户名。

mysql -u $(whoami)
1 登录 Termux 用户   mysql -u $(whoami)
2 修改 root 密码的 SQL语句    use mysql;set password for 'root'@'localhost' = password('你设置的密码'); // 本地连接root用户
3 刷新权限 并退出   flush privileges;quit;

root用户登录MySQL

mysql -u root -p     // 注意这里的密码是不显示的,敲就行了

5 配置 MariaDB 远程登录

有时候,为了开发或操作方便,可以使用电脑远程访问和管理手机里的数据库。默认情况下,为了安全 MariaDB 只允许本地登录,如果要开启远程连接可进行以下配置。

登录mysql的状态下,执行以下命令:

创建一个可远程登录的用户:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
% 通配符表示创建外网可访问的用户。 username为你要设置的用户名,password就是密码

用户授权:

GRANT ALL privileges ON databasename.tablename TO 'username'@'%';
如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示,如*.*

刷新授权:

flush privileges;

通过以上配置即可通过局域网内其它设备登录手机里的数据库进行操作。

注:由于 my.cnf.d 目录下并未找到 mysqld.cnf 配置文件,所以并未修改注释 bind-address 这个选项也可进行远程登录。

6 停止 MariaDB 服务器

要停止 MariaDB 服务器,请输入:

pkill mysql

或者,使用单词“MySQL”取其进程 ID ,使用命令 grep,然后杀死他们kill -9 [ID],-9 是发送终止信号。

要查找执行的进程ID:

ps aux | grep mysql

拥有ID后,请杀死它们:

kill -9 进程号

7 可选,但建议:安全的 MariaDB

MariaDB 的安装已经可以正常工作,并且如果我们只打算使用它,那么我们就不必在意安全性。但是,相反,如果您想通过良好的习惯来确保它,可以这样做。为此,执行:

mysql_secure_installation

这将为您提供一个向导,该向导将帮助您确保安装MySQL:输入密码,删除测试特权等。

8 远程连接MariaDB

使用以下命令获取mysql手机端的端口

netmap 127.0.0.1  // 扫描本机端口   MySQL默认3306端口

电脑端与手机端在同一网络下

手机端使用termux

ifconfig    // 获取本地ip地址

电脑端使用数据库工具

连接 : 获取手机端的ip:3306

参考链接:

[1]https://blog.csdn.net/hwx865/article/details/102693223
[2]:https://blog.csdn.net/weixin_35064596/article/details/112498133

相关文章:

termux手机端安装mysql(MariaDB)

目录1 下载MariaDB2 配置MariaDB3 启动MariaDB服务器查看进程pid杀死进程4 登录 Mysqltermux用户登录MySQLroot用户登录MySQL5 配置 MariaDB 远程登录创建一个可远程登录的用户:用户授权:刷新授权:6 停止 MariaDB 服务器7 可选,但…...

Python枚举类定义和使用(详解版)

一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对这种特殊的类,Python 3.4 中新…...

京东HBase异地多活调研

京东HBase平台架构 HBase Replication原理 HBase的Replication是基于WAL日志文件的,在主集群中的每个RegionServer上,由ReplicationSource线程来负责推送数据,在备集群的RegionServer上由ReplicationSink线程负责接收数据。ReplicationSourc…...

【LeetCode】剑指 Offer 18. 删除链表的节点(题目一) p119 -- Java Version

题目链接:https://leetcode.cn/problems/shan-chu-lian-biao-de-jie-dian-lcof/ 1. 题目介绍(18. 删除链表的节点) 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意&…...

SpringMVC异步请求

背景 Tomcat等应用服务器的连接线程池实际上是有限制的;每一个连接请求都会耗掉线程池的一个连接数;如果某些耗时很长的操作,如对大量数据的查询操作、调用外部系统提供的服务以及一些 IO 密集型操作等,会占用连接很长时间&#…...

这七个100%提高Python代码性能的技巧,一定要知道

B站|公众号:啥都会一点的研究生 相关阅读 整理了几个100%会踩的Python细节坑,提前防止脑血栓 整理了十个100%提高效率的Python编程技巧,更上一层楼 Python-列表,从基础到进阶用法大总结,进来查漏补缺 Python-元组&…...

计算机网络笔记、面试八股(五)—— 浏览器输入URL

本章目录5. 从输入URL到浏览器显示页面过程中都发生了什么5.1 URL输入5.2 DNS解析5.2.1 域名的等级5.2.2 DNS解析的流程5.2.3 DNS查询方式5.3 建立TCP连接5.4 发送HTTP/HTTPS请求5.5 服务器处理请求并返回HTTP响应5.6 浏览器解析渲染页面5.7 HTTP请求结束,断开TCP连…...

【速记】快速调通算法项目的环境

1.创建新的conda环境,避免把原有的环境给搞坏。 在CMD中执行,而不是在anaconda的命令行中执行: conda create -n 环境名 --offline python3.8 2.在pycharm中配置conda环境: setting->Project Interpreter->齿轮->add-&g…...

开放开源开先河(上)

目录 1.唯一性定义品牌 2.打造爆款塑造品牌 3.构筑生态体系传播品牌 2022年7月28日,以“软件定义世界 开源共筑未来”为主题的全球数字经济大会开放原子开源峰会在北京开幕,承办主峰会和为捐赠人进行授牌仪式的开放原子开源基金会再次进入公众视野。基金…...

TencentOS 3.1安装MySQL 8.0.32

到官网下载安装包:https://dev.mysql.com/downloads/mysql/ 使用如下命令解包。 tar xf mysql-8.0.32-1.el8.x86_64.rpm-bundle.tar 使用rpm -qa |grep mysql 和rpm -qa |grep mariadb检查是否安装过mysql 如果有,使用下命令移除: rpm -e …...

Javascript的API基本内容(五)

一、js组成 JavaScript的组成 ECMAScript: 规定了js基础语法核心知识。 比如:变量、分支语句、循环语句、对象等等 Web APIs : DOM 文档对象模型, 定义了一套操作HTML文档的API BOM 浏览器对象模型,定义了一套操作浏览器窗口的API 二、loc…...

分层测试(2)单元测试【必备】

1. 什么是单元测试? 对代码中的逻辑隔离的最小代码片段进行测试,验证其逻辑是否符合预期,单元可以是函数,方法,类,功能模块。 2. 单元测试的优点 掌握代码:单元测试允许开发人员了解单元提供…...

代码随想录算法训练营day45 |动态规划之背包问题 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数

day4570. 爬楼梯 (进阶)1. 确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例来推导dp数组322. 零钱兑换1. 确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组279.完全平方数1. 确…...

秒懂算法 | 基于图神经网络的推荐算法

图神经网络(Graph Neural Networks,GNN)是近几年兴起的学科,用来作推荐算法自然效果也相当好,但是要学会基于图神经网络的推荐算法之前,需要对图神经网络自身有个了解。 图卷积网络(Graph Convolutional Networks,GCN)提出于2017年。GCN 的出现标志着图神经网络的出现。深度学习…...

CANoe TC8测试脚本的结构介绍

CANoe TC8脚本是通过vTESTstudio平台编写。每个协议(ARP\ICMPv4\IPv4\UDP\TCP\SOMEIP\DHCP)都有自己的vtt文件。每个vtt文件的测试树结构为: Test Fixture Fixture Preparation Test Case Test Case … Test Case Test Case Fixture Completion 当Test Fixture里的Test Case…...

DP(4)--区间DP

将n(1≤n≤200)堆石子绕圆形操场摆放,现要将石子有次序地合并成一堆。 规定每次只能选相邻的两堆石子合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 (1)选择一种合并石子的方案,使得做n-1次合并,得分的总…...

【C语言】“qsort函数详解”与“使用冒泡思想模拟使用qsort”

✨✨✨✨如果文章对你有帮助记得点赞收藏关注哦!!✨✨✨✨ 文章目录✨✨✨✨如果文章对你有帮助记得点赞收藏关注哦!!✨✨✨✨qsort的介绍:一、qsort函数的使用✨比较int类型数据比较字符型数据比较结构体数据冒泡思想…...

接口自动化框架---升级版(Pytest+request+Allure)

目录:导读 一、简单介绍 二、目录介绍 三、代码分析 写在最后 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱。 第一版入口:接口自动化框架(PytestrequestAllure…...

C语言循环语句简述

C 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次…...

STM32开发(16)----CubeMX配置DMA

CubeMX配置DMA前言一、什么是DMA?二、实验过程1.CubeMX配置2.代码实现3.实验结果总结前言 本章介绍使用STM32CubeMX对DMA进行配置的方法,DMA的原理、概念和特点,配置各个步骤的功能,并通过串口DMA传输实验方式验证。 一、什么是…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...