在Termux Android上连接到MariaDB服务器

时间:2018-07-26 13:04:24

标签: android mysql mariadb termux

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

使用命令后,它可以完美运行

mysqld & 

node mynodefile.js

在Termux上。但是我想避免使用“ mysqld&”命令,而以另一种方式启动MariaDB Server。因此,我下载了适用于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)

服务器似乎仍然关闭...您是否有解决我问题的想法?

谢谢。

5 个答案:

答案 0 :(得分:1)

尝试

NSAttributedStringKey.init(rawValue:String)

然后

$mysql_install_db

$mysqld

答案 1 :(得分:0)

我最终通过仅修改源代码以到达MariaDB服务器来避免了这种情况。然后,我使用Cordova将移动应用程序连接到了NodeJS项目。我不再需要Termux。

答案 2 :(得分: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/

答案 3 :(得分:0)

termux的解决方案:

运行if (isAlpha(text[i])) 开启新会议 运行mysqld_safe 将特权更改为root,将密码更改为root并清除更改(mysql doc中的教师),mysql -u $(whoami) 运行quit;

祝您编程愉快!

答案 4 :(得分:0)

我正面临着您的问题。但是没有Stackoverflow来解决此问题。 所以我试图通过在termux GitHub上提问来解决这个问题,但是我解决了这个问题。 https://github.com/termux/termux-packages/issues/4540 如果您是初学者,请继续关注。 sudo apt更新&& apt升级-y sudo apt安装mariadb

然后打开mariadb mysqld_safe -u根& 如果不行,请尝试 MySQL的 (因为您不是root用户,我的意思不是在真正的linux中) 当您关闭termux应用程序并在下次尝试时,您会遇到此问题。 MySQL的 错误2002(HY000):无法通过套接字'/data/data/com.termux/files/usr/tmp/mysqld.sock'(2)连接到本地MySQL服务器

因此,请按照以下说明进行清除。 须藤清除

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'

并通过它,在命令上方,然后打开新会话。 类型 须藤MySQL 您可以制作数据库,您将看到mariadb的欢迎。 如果遇到连接问题,请尝试以下方法。 当您打开mariadb时。 让我们输入

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

将sudo GRANT ALL ON DATABASE_NAME。*发送给root @ localhost,通过'p @ ssw9rd'标识;

在database_name处,输入您的数据库名称。 这是一个问题,没有比这更困难的事情了。