From: Kerin Millar <kerframil@fastmail.co.uk>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] [slightly O/T] mysql problems
Date: Wed, 15 Oct 2014 13:41:03 +0100 [thread overview]
Message-ID: <543E6B5F.8050900@fastmail.co.uk> (raw)
In-Reply-To: <201410151305.18439.michaelkintzios@gmail.com>
On 15/10/2014 13:05, Mick wrote:
> On Wednesday 15 Oct 2014 02:14:37 Kerin Millar wrote:
>> On 14/10/2014 23:25, Mick wrote:
>>> On Tuesday 14 Oct 2014 21:15:48 Kerin Millar wrote:
>
>>>> * Have you upgraded MySQL recently without going through the
>>>> documented upgrade procedure? [1]
>>>
>>> I'm still on mysql-5.5.39
>>
>> OK. If it has always been running MySQL 5.5, there's nothing to be
>> concerned about.
>
> No, sorry I wasn't clear. I have been upgrading mysql on this machine for
> some years now, always running stable versions. After each update I run:
>
> mysql_upgrade -h localhost -u root -p
>
>
>>>> * Have you otherwise removed or modified files in the data
>>>> directory?
>>>
>>> Not as far as I know. I have suspicions of fs corruption though (it's
>>> been running out of space lately and I haven't yet found out why).
>>
>> Not good. Which filesystem, if I may ask? XFS is preferable, due to its
>> very good performance with O_DIRECT, which ext4 coming in second. Other
>> filesystems may be problematic. In particular, ZFS does not support
>> asynchronous I/O.
>
> ext4
>
>
>> In any case, go into /var/lib/mysql and check whether the file that it
>> mentions exists. If it does not exist, try running:
>>
>> DROP TABLE `website1@002dnew`.`webform_validation_rule_components`
>>
>> If that does not work then try again, using DISCARD TABLESPACE as
>> opposed to DROP TABLE. Note that the backtick quoting is necessary
>> because of the presence of the @ symbol in the database name, which
>> would otherwise be misinterpreted.
>
> Hmm ... I'm probably not doing this right.
>
> First of all, there is no local database /var/lib/mysql/website1, because this
> is the live website name, on the shared server. I only have
> /var/lib/mysql/website_test on the local dev machine.
>
> Then although I can see, e.g.
>
> -rw-rw---- 1 mysql mysql 8939 Oct 14 19:25 actions.frm
> -rw-rw---- 1 mysql mysql 98304 Oct 14 19:25 actions.ibd
>
> in /var/lib/mysql/website_test, if I try to run DROP TABlE, logged in as
> (mysql) root, I get an unknown table, error 1051.
>
> =========================
> mysql> USE website_test;
> Reading table information for completion of table and column names
> You can turn off this feature to get a quicker startup with -A
>
> Database changed
> mysql> DROP TABLE `website1@002dnew`.`actions`;
Is this a table for which it is also complaining that a corresponding
tablespace doesn't exist in database `website1@@002dnew`? Your original
post mentioned only a table named `webform_validation_rule_components`.
Whichever table(s) it is complaining about, if you happen to find a
corresponding .idb file in a different database (sub-directory), you
might be able to satisfy MySQL by copying it to where it is expecting to
find it. If that works, you should then be able to drop it.
Sometimes, directly copying an InnoDB tablespace into place requires a
more elaborate procedure but I won't muddy the waters by describing said
procedure just yet.
> ERROR 1051 (42S02): Unknown table 'actions'
> mysql> DISCARD TABLESPACE `website1@002dnew`.`actions`;
> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
> that corresponds to your MySQL server version for the right syntax to use near
> 'DISCARD TABLESPACE `website1@002dnew`.`actions`' at line 1
> =========================
>
> I think in mysql-5.5 I should be using DROP TABLESPACE instead?
>
My mistake. The correct syntax for discarding the tablespace would be:
ALTER TABLE <table> DISCARD TABLESPACE;
I'm stating the obvious here, but be sure not to DROP or DISCARD
TABLESPACE on a table whose tablespace does exist and for which you do
not have a backup. Both commands are destructive.
--Kerin
next prev parent reply other threads:[~2014-10-15 12:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-14 18:54 [gentoo-user] [slightly O/T] mysql problems Mick
2014-10-14 19:21 ` Daniel Frey
2014-10-14 21:39 ` Mick
2014-10-14 20:15 ` Kerin Millar
2014-10-14 22:25 ` Mick
2014-10-15 1:14 ` Kerin Millar
2014-10-15 12:05 ` Mick
2014-10-15 12:41 ` Kerin Millar [this message]
2014-10-15 20:40 ` Mick
2014-10-16 6:24 ` J. Roeleveld
2014-10-17 23:17 ` Mick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=543E6B5F.8050900@fastmail.co.uk \
--to=kerframil@fastmail.co.uk \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox