草庐IT

mysql - 尝试移动 `/var/lib/mysql`后访问Mysql失败

coder 2023-10-25 原文

<分区>

起初,我尝试将我的数据库移动到一个新目录 /media/external_drive

我遵循了网络上的一些说明,例如:

http://article.my-addr.com/?show=linux_ubuntu_change_datadir-move_mysql_database_to_other_path

之后好像可以通过sudo service mysql restart重启mysql了。

但是,当我尝试 mysql -u root -p 时,我总是得到以下错误:

错误 2002 (HY000):无法通过套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器

然后我搜索了sudo find/-name mysqld.sock,没有得到任何结果。

我还尝试将数据库文件 (mysql) 移回 /var/lib/mysql,并撤销所有用于移动数据库的操作。还是出现上面的错误。

我完全迷路了。请帮忙!

下面是当前的my.cnf。我将 datadir 更改为 /media/external_drive,稍后再改回来。

 42 user        = mysql
 43 socket      = /var/run/mysqld/mysqld.sock
 44 port        = 3306
 45 basedir     = /usr
 46 datadir     = /var/lib/mysql
 47 tmpdir      = /tmp
 48 skip-external-locking

关于权限:

sudo ls -la /var/lib/mysql
total 1740832
drwx------  6 root   root         4096 2013-03-09 00:19 .
drwxr-xr-x 66 root   root         4096 2013-03-06 21:18 ..
drwx------  2 zhijia zhijia       4096 2013-03-06 16:58 AppSeq
drwx------  2 zhijia zhijia       4096 2013-03-06 17:32 AppSeq1
-rwxrwxrwx  1 zhijia zhijia          0 2013-01-24 15:47 debian-5.1.flag
-rwxrwxrwx  1 zhijia zhijia 1772093440 2013-03-06 19:43 ibdata1
-rwxrwxrwx  1 zhijia zhijia    5242880 2013-03-09 00:13 ib_logfile0
-rwxrwxrwx  1 zhijia zhijia    5242880 2013-03-06 19:35 ib_logfile1
drwx------  2 zhijia zhijia       4096 2013-01-24 15:48 mysql
-rwxrwxrwx  1 zhijia zhijia          6 2013-01-24 15:48 mysql_upgrade_info
drwx------  2 zhijia zhijia       4096 2013-01-24 15:54 phpmyadmin

关于磁盘已满:

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              9833300   7694164   1639632  83% /
none                    379568       296    379272   1% /dev
none                    383792       400    383392   1% /dev/shm
none                    383792        84    383708   1% /var/run
none                    383792         0    383792   0% /var/lock
none                    383792         0    383792   0% /lib/init/rw
none                   9833300   7694164   1639632  83% /var/lib/ureadahead/debugfs
/dev/sdb1            2930263036   1899200 2928363836   1% /media/external_drive

关于 ps -ef | grep mysql

zhijia    7329  1756  0 01:00 pts/0    00:00:00 grep --color=auto mysql

关于'sudo mysqld_safe --user=mysql`

130309 01:03:47 mysqld_safe Logging to syslog.
130309 01:03:47 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130309 01:03:47 mysqld_safe mysqld from pid file /var/lib/mysql/ubuntu.pid ended

关于error.log,多次出现以下错误。

^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130309  0:00:13 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to     create it.
130309  0:00:13  InnoDB: Initializing buffer pool, size = 8.0M 
130309  0:00:13  InnoDB: Completed initialization of buffer pool 
130309  0:00:13  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
130309  0:00:43 [Note] Plugin 'FEDERATED' is disabled.
....

有关mysql - 尝试移动 `/var/lib/mysql`后访问Mysql失败的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  3. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  4. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  5. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  6. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  7. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  8. ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP - 2

    当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?

  9. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  10. ruby - 怎么来的(a_method || :other) returns :other only when assigning to a var called a_method? - 2

    给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R

随机推荐