Jul 7

Linux MySQL数据库位置,更改位置及库名 晴

, 08/07/07 15:58 , 技术开发 » 数据库 , 评论(0) , 引用(0) , 阅读(3046) , Via 本站原创 | |
Linux环境下:MySQL默认的数据文件存储目录为/var/lib/mysql。今天想干两件事,把库改名(测试了三种方法),另外就是更改MySQL数据库目录位置。总结一下,以少走弯路。
Array:
1、RENAME DATABASE zhoz_db to zhoz_db_bak

mysql> RENAME DATABASE zhoz_db to zhoz_db_bak;
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 'DATABASE test to test_bak' at line 1
报错,网上查了下好像在mysql6环境下可以。测试环境为mysql5。

2、mv /var/lib/mysql/zhoz_db /var/lib/mysql/zhoz_db_bak
成功执行,也改了名。但是进入phpMyAdmin下发现有这个库,但显示不了表。
其实单独操作改名,是不行的。相应的表也需要作更改操作。当然,如果仅作备份来用,是可以的。

3、两全其美的方法:
在phpMyAdmin下操作:
选择要改名的库→点右上角的[操作]→重新命名数据库为 :「zhoz_db_bak」→执行 (中文)
データベース選択する→操作→この前にデータベースを変更する:新しい名前入力したら「zhoz_db_bak」→実行する (日文)

Array:
Array

1、home目录下建立data目录:
cd /home
mkdir zhozcom_data

2、把MySQL服务进程停掉:
mysql -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/zhozcom_data
mv /var/lib/mysql /home/zhozcom_data/

这样就把MySQL的数据文件移动到了/home/zhozcom_data/mysql下

4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf中。
命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my.cnf /etc/my.cnf

5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。
修改socket=/var/lib/mysql/mysql.sock的值为:
socket=/home/zhozcom_data/mysql.sock
操作如下:
[root@zhoz etc]# vi  my.cnf
# The MySQL server[mysqld]  port = 3306#socket  = /var/lib/mysql/mysql.sock
(原内容,通常为了安全用#注释此行)
socket  = /home/zhozcom_data/mysql/mysql.sock (加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql
修改MySQL启动脚本/etc/init.d/mysql:
把其中datadir=/var/lib/mysql修改成现在的路径:
datadir=/home/zhozcom_data/mysql。
方法:
[root@zhoz etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql(注释此行)
datadir=/home/data/mysql (加上此行)

7、重新启动MySQL服务
/etc/init.d/mysql start

一切OK了,不行的话就查看权限:drwxr-xr-x 目录。重启库也是需要的。

作者:@Everyday NetLog
地址:http://blog.zhoz.com/read.php?361
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]