我正在直接在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)
服务器似乎仍然关闭...您是否有解决我问题的想法?
谢谢。
答案 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处,输入您的数据库名称。 这是一个问题,没有比这更困难的事情了。