[CentOS] mysql.users deleting
Jordi Espasa Clofent
sistemes.llistes at intergrid.cat
Thu Aug 9 19:20:47 UTC 2007
> If you restarted mysql it would probably fail to start ...
Yes; or if you make any FLUSH PRIVILEGES from mysql command interface
client.
> This worked for me, but is risky ... you should do it on another machine
> and copy it over if possible. However ... I did test it on a live
> machine and it worked for me.
>
> ###---Commands---###
>
> cd /var/lib/
>
> mv mysql mysql.old
>
> mkdir mysql
>
> chown mysql.mysql mysql
>
> ###---End Commands---###
>
> (OK ... at this point, make SURE you have a mysql.old dir with all your
> current data in it and a mysql dir that is blank and both directories
> should be owned by mysql.mysql ... VERY IMPORTANT)
>
> ###---Commands---###
>
> /usr/bin/mysql_install_db
>
> cp -a mysql/mysql/user.* mysql.old/mysql/
>
> mv mysql mysql.bak
>
> mv mysql.old mysql
>
> ###---End Commands---###
>
> (OK at this point, you should have the default mysql user tables and
> indexes in your /var/lib/mysql/mysql directory and you SHOULD be able to
> restart mysql and then login as root without a password from the
> command line with the mysql command ... then assign a root password AND
> then assign your user permissions to the databases)
>
> Please be careful if this machine is important ... of course if it was
> important then you would have had a backup from last night :D
>
> You also now have a mysql.bak directory that are all the initial
> database files for a blank install in case this happens again.
Great info Johnny.
After all I've used a similar method:
* copy (with rsync) datadir (I think it is /var/lib/mysql)
* Install MySQL-server package in another CentOS box; extract de full
mysql table
* Deinstall the MySQL-server in affected box. Reinstall it and set up
the root password.
* Insert the mysq.user table from another CentOS box to the affected box
* Recreate de users in mysql.user table of (ex)affected box
It has been a tedious process... but a sure process too.
A final note: the package removing process respecte de datadir and the
copied data with rsync was not needed.
--
Thanks,
Jordi Espasa Clofent
More information about the CentOS
mailing list