【问题标题】:Connecting to MariaDB Server on Termux Android在 Termux Android 上连接到 MariaDB 服务器
【发布时间】:2019-01-03 11:48:58
【问题描述】:

我正致力于在 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)

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

【问题讨论】:

  • 试试-h localhost 或-h ::1

标签: android mysql mariadb termux


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试

    $mysql_install_db
    
    $mysqld
    

    然后

    $mysql -u root -p
    

    【讨论】:

      【解决方案3】:

      在运行mysql_install_db 之前,尝试在/data/data/com.termux.files/usr/etc 中创建my.cnf.d 文件夹。为我工作。

      $ 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/

      【讨论】:

        【解决方案4】:

        termux 的解决方案:

        1. 运行mysqld_safe
        2. 打开新会话
        3. 运行mysql -u $(whoami)
        4. 将权限更改为 root,将密码更改为 root 并刷新更改(mysql 文档中的导师),quit;
        5. 运行mysql -u root -p

        【讨论】:

          【解决方案5】:

          我正面临像您的问题。但在 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'

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

          sudo CREATE USER 'root' IDENTIFIED BY 'p@ssw9rd'; p@ssw9rd 是密码,root 是默认用户名。 您可以更改 p@ssw9rd。

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

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

          【讨论】:

            【解决方案6】:

            安装

            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守护进程

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2022-11-28
              • 1970-01-01
              • 1970-01-01
              • 2017-02-24
              • 1970-01-01
              • 1970-01-01
              • 2019-08-11
              • 2013-01-11
              相关资源
              最近更新 更多