我正致力于在android设备上的本地数据库上直接启动nodejs项目,为此我使用termux和mariadb服务器。
使用这些命令后,它可以完美地工作
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)
看来服务器还是关机了。。。你有什么办法解决我的问题吗?
谢谢您。
5条答案
按热度按时间pxq42qpu1#
我面临着像你一样的问题。但是没有办法解决这个问题。所以我试图通过在termuxgithub中询问问题来解决这个问题,但我从中解决了这个问题。https://github.com/termux/termux-packages/issues/4540 如果你是先发者,继续跟随。sudo apt update和apt upgrade-y sudo apt install mariadb
打开mariadb mysqld\u safe-u root&如果不工作,那么在关闭termux应用程序时尝试mysql(因为你不是root用户,我的意思是不是在真正的linux中),下一次尝试时就会遇到类似的问题。mysql错误2002(hy000):无法通过socket'/data/data/com.termux/files/usr/tmp/mysqld.sock'(2)连接到本地mysql服务器
所以,通过以下方式来澄清这一点。sudo清除
cd'/data/data/com.termux/files/usr'/data/data/com.termux/files/usr/bin/mysqld\u safe--datadir='/data/data/com.termux/files/usr/var/lib/mysql'
并通过它。上面的命令。打开新的会话。键入sudomysql你可以建立数据库,你会看到mariadb的欢迎。如果您遇到一些连接问题,请尝试下面的方法。当你打开mariadb的时候。let类型
sudo创建用户'root',由'p@ssw9rd'; p@ssw9rd 是密码,root是默认用户名。你可以改变p@ssw9rd.
sudo grant all on database_name.*到root@localhost '识别者'p@ssw9rd';
在数据库名称中,键入数据库名称。这是个大问题,再也没有比这更难的了。
bfrts1fy2#
尝试
然后
cclgggtu3#
termux解决方案:
跑
mysqld_safe
打开新会话运行mysql -u $(whoami)
将privilages更改为root,将password更改为root并刷新更改(mysql doc中的tutor),quit;
跑mysql -u root -p
快乐的编码!jvidinwx4#
运行前
mysql_install_db
尝试创建my.cnf.d
文件夹位于/data/data/com.termux.files/usr/etc
. 为我工作。资料来源:https://parzibyte.me/blog/2018/11/12/instalar-mysql-mariadb-en-android-con-termux/
oknwwptz5#
我最终通过修改源代码到达mariadb服务器避免了这种情况。我用cordova把我的移动应用程序连接到nodejs项目。我不再需要termux了。