草庐IT

android - MySQL 没有启动 : [ERROR] Failed to create a socket for IPv4 '127.0.0.1' : errno: 13

coder 2023-10-17 原文

我准备在 chroot 环境中的旧 Android 手机上设置低流量网络服务器。手机装了一个Debian,可以正常运行几个月(所以这是一种特殊的Linux环境)。

Apache2 和 Python 已启动并运行。

但是当我启动 mysqld 时:

root@Motoluxe:~# /usr/sbin/mysqld
... [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
... [Note] /usr/sbin/mysqld (mysqld 5.5.49-0+deb7u1) starting as process 31419 ...
... [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
... [Note] Plugin 'FEDERATED' is disabled.
... InnoDB: The InnoDB memory heap is disabled
... InnoDB: Mutexes and rw_locks use GCC atomic builtins
... InnoDB: Compressed tables use zlib 1.2.7
... InnoDB: Using Linux native AIO
... InnoDB: Initializing buffer pool, size = 128.0M
... InnoDB: Completed initialization of buffer pool
... InnoDB: highest supported file format is Barracuda.
... InnoDB: Waiting for the background threads to start
... InnoDB: 5.5.49 started; log sequence number 1598476
... [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
... [Note]   - '127.0.0.1' resolves to '127.0.0.1';
... [ERROR] Failed to create a socket for IPv4 '127.0.0.1': errno: 13.
... [ERROR] Can't create IP socket: Permission denied
... [ERROR] Aborting
...  InnoDB: Starting shutdown...
...  InnoDB: Shutdown completed; log sequence number 1598476
... [Note] /usr/sbin/mysqld: Shutdown complete

在/etc/mysql/my.conf 中:

#skip-networking
...
socket          = /var/run/mysqld/mysqld.sock

在/var/run 中:

drwxrwxrwx 2 mysql mysql 4096 jún 19 10:07 mysqld

所以理论上socket是可以写的。

(如果我启用 skip-networking mysql 启动但我无法通过 pymysql.connect 从 python 连接到它)

值得注意的是/etc/groups 似乎不完整,我看到没有名称的组只有一个 ID(在目录列表中),所以某种 mysql-is-not-being-in-that-group-欠网络资源类型的问题是可以想象的。

其他网络使用程序,包括 apache2 工作。

PS 启用 python 以启用 skip-networking 连接应该是一种解决方法。

最佳答案

这可能是因为您的 Android 内核已使用 CONFIG_ANDROID_PARANOID_NETWORK 进行编译。您可以通过将 mysql 用户添加到 aid_inet 和 aid_net_raw 组来修复它。

之前:

[mysql@81fc75b0d254466b ~]$ mysqld
2017-04-16  8:25:07 4143896512 [Note] mysqld (mysqld 10.1.22-MariaDB) starting as process 6995 ...
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-04-16  8:25:08 4143896512 [Note] InnoDB: The InnoDB memory heap is disabled
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-04-16  8:25:08 4143896512 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Compressed tables use zlib 1.2.11
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Using Linux native AIO
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Using generic crc32 instructions
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Completed initialization of buffer pool
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Highest supported file format is Barracuda.
2017-04-16  8:25:08 4143896512 [Note] InnoDB: 128 rollback segment(s) are active.
2017-04-16  8:25:08 4143896512 [Note] InnoDB: Waiting for purge to start
2017-04-16  8:25:08 4143896512 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.35-80.0 started; log sequence number 1616819
2017-04-16  8:25:08 4143896512 [Note] Plugin 'FEEDBACK' is disabled.
2017-04-16  8:25:08 3630140224 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-04-16  8:25:08 4143896512 [Warning] Failed to create a socket for IPv6 '::': errno: 13.
2017-04-16  8:25:08 4143896512 [Warning] Failed to create a socket for IPv4 '0.0.0.0': errno: 13.
2017-04-16  8:25:08 4143896512 [ERROR] Can't create IP socket: Permission denied
2017-04-16  8:25:08 4143896512 [ERROR] Aborting

之后:

[root@81fc75b0d254466b mysqld]# usermod -a -G aid_inet,aid_net_raw mysql
[root@81fc75b0d254466b mysqld]# su mysql
[mysql@81fc75b0d254466b mysqld]$ mysqld
2017-04-16  9:56:00 4144179136 [Note] mysqld (mysqld 10.1.22-MariaDB) starting as process 7246 ...
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-04-16  9:56:00 4144179136 [Note] InnoDB: The InnoDB memory heap is disabled
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-04-16  9:56:00 4144179136 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Compressed tables use zlib 1.2.11
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Using Linux native AIO
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Using generic crc32 instructions
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Completed initialization of buffer pool
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Highest supported file format is Barracuda.
2017-04-16  9:56:00 4144179136 [Note] InnoDB: 128 rollback segment(s) are active.
2017-04-16  9:56:00 4144179136 [Note] InnoDB: Waiting for purge to start
2017-04-16  9:56:00 4144179136 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.35-80.0 started; log sequence number 1616869
2017-04-16  9:56:00 4144179136 [Note] Plugin 'FEEDBACK' is disabled.
2017-04-16  9:56:00 3632237376 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-04-16  9:56:00 4144179136 [Note] Server socket created on IP: '::'.
2017-04-16  9:56:00 4144179136 [Note] mysqld: ready for connections.
Version: '10.1.22-MariaDB'  socket: '/run/mysqld/mysqld.sock'  port: 3306  MariaDB Server

另见 https://stackoverflow.com/a/36451445/4158804

测试于 Linux 81fc75b0d254466b 4.4.40-android-x86_64 #2 SMP PREEMPT Fri Jan 13 22:40:54 CST 2017 x86_64 GNU/Linux 在 Archlinux chroot 中使用 mysql Ver 15.1 Distrib 10.1.22-MariaDB,适用于 Linux (i686)

关于android - MySQL 没有启动 : [ERROR] Failed to create a socket for IPv4 '127.0.0.1' : errno: 13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906168/

有关android - MySQL 没有启动 : [ERROR] Failed to create a socket for IPv4 '127.0.0.1' : errno: 13的更多相关文章

  1. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  2. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  3. ruby-on-rails - Ruby on Rails : . 常量化 : wrong constant name error? - 2

    我正在使用这个:4.times{|i|assert_not_equal("content#{i+2}".constantize,object.first_content)}我之前声明过局部变量content1content2content3content4content5我得到的错误NameError:wrongconstantnamecontent2这个错误是什么意思?我很确定我想要content2=\ 最佳答案 你必须用一个大字母来调用ruby​​常量:Content2而不是content2。Aconstantnamestart

  4. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  5. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  6. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

    我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

  7. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  8. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  9. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

  10. ruby-on-rails - Rails 中的 NoMethodError::MailersController#preview undefined method `activation_token=' for nil:NilClass - 2

    似乎无法为此找到有效的答案。我正在阅读Rails教程的第10章第10.1.2节,但似乎无法使邮件程序预览正常工作。我发现处理错误的所有答案都与教程的不同部分相关,我假设我犯的错误正盯着我的脸。我已经完成并将教程中的代码复制/粘贴到相关文件中,但到目前为止,我还看不出我输入的内容与教程中的内容有什么区别。到目前为止,建议是在函数定义中添加或删除参数user,但这并没有解决问题。触发错误的url是http://localhost:3000/rails/mailers/user_mailer/account_activation.http://localhost:3000/rails/mai

随机推荐