3

我正在直接在 Android 设备上的本地数据库上启动 NodeJS 项目,为此我使用 Termux 和 MariaDB Server。

使用命令后完美运行

mysqld & 

node mynodefile.js

在 Termux 上。但我想避免使用“mysqld &”命令并以另一种方式启动 MariaDB 服务器。所以我下载了适用于 Android 的 MariaDB 服务器应用程序。但即使我用它启动服务器,Termux 甚至都没有检测到新进程,我也无法访问 mysql。它给了我以下错误:

$ mysql -u root -p -h127.0.0.1
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux/files/usr/var/lib/mysqld.sock' (111)

似乎服务器仍然关闭......我该如何解决我的问题?

4

6 回答 6

3

尝试

$mysql_install_db

$mysqld

然后

$mysql -u root -p
于 2018-09-23T14:24:40.303 回答
0

我最终通过修改我的源代码以访问 MariaDB 服务器来避免它。我使用 Cordova 将我的移动应用程序连接到我的 NodeJS 项目。我不再需要 Termux。

于 2018-08-17T13:10:31.270 回答
0

termux的解决方案:

  1. mysqld_safe
  2. 打开新会话
  3. mysql -u $(whoami)
  4. 将特权更改为 root,将密码更改为 root 并刷新更改(mysql 文档中的导师),quit;
  5. mysql -u root -p
于 2020-01-15T04:04:26.993 回答
0

在运行之前mysql_install_db尝试my.cnf.d/data/data/com.termux.files/usr/etc. 为我工作。

$ cd /data/data/com.termux.files/usr/etc
$ mkdir my.cnf.d
$ mysql_install_db
$ mysqld_safe -u root &
$ mysql -u root

来源: https ://parzibyte.me/blog/2018/11/12/instalar-mysql-mariadb-en-android-con-termux/

于 2018-12-12T14:36:59.837 回答
0

安装

pkg update & pkg upgrade
pkg install mariadb

运行 mariadb 守护进程

mysqld

或者使用这个

mysqld_safe

创建新用户和密码

mysql
use mysql;
set password for 'new_user'@'localhost' = password('YOUR_ROOT_PASSWORD_HERE');
flush privileges;
quit;

用新用户登录

mysql -u new_user -p

然后输入你的密码。

笔记!每次在termux中使用mysql,必须先激活mariadb守护进程

于 2021-10-26T12:35:57.773 回答
0

我面临着像你的问题。但在 Stackoverflow 中没有解决这个问题。所以我试图通过在 termux GitHub 中提出问题来解决这个问题。但我解决了这个问题。 https://github.com/termux/termux-packages/issues/4540 如果你是初学者,请继续关注。sudo apt update && apt upgrade -y sudo apt install mariadb

并打开 mariadb mysqld_safe -u root & 如果不工作尝试 mysql(因为你不是 root 用户,我的意思是不是在真正的 linux 中)当你关闭 termux 应用程序并且下次你尝试时你会遇到这个问题。mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux/files/usr/tmp/mysqld.sock' (2)

因此,请通过以下方式清除这一点。须藤清除

cd '/data/data/com.termux/files/usr' ; /data/data/com.termux/files/usr/bin/mysqld_safe --datadir='/data/data/com.termux/files/usr/var/lib/mysql'

并通过它。在命令之上。并打开新会话。输入 sudo mysql 你可以创建数据库,你会看到 mariadb 的欢迎。如果您遇到一些连接问题。请尝试以下操作。当你打开 mariadb. 输入

sudo 创建用户 'root' 由 'p@ssw9rd' 识别;p@ssw9rd 是密码,root 是默认用户名。您可以更改 p@ssw9rd。

sudo GRANT ALL ON DATABASE_NAME.* TO root@localhost IDENTIFIED BY 'p@ssw9rd';

在 database_name 中,输入您的数据库名称。这是一个问题,从来没有比这更难的。

于 2020-07-13T17:56:25.450 回答