linux MySQL数据库位置变更及更改库名

linux MySQL数据库位置变更及更改库名

2010-03-01 17:55:08| 分类: 个人日记 |字号 订阅
Linux环境下:MySQL默认的数据文件存储目录为/var/lib/mysql。今天想干两件事,把库改名(测试了三种方法),另外就是更改MySQL数据库目录位置。 库改名: 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」→执行
更改MySQL数据库目录位置: MySQL默认的数据文件存储目录为/var/lib/mysql,目标移到/home/zhozcom_data下:
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中。 命令如下: # 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 操作如下: # 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。 方法: # vi /etc/init.d/mysql #datadir=/var/lib/mysql(注释此行) datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务 /etc/init.d/mysql start
一切OK了,不行的话就查看权限:drwxr-xr-x 目录。重启库也是需要的。

你可能感兴趣的:(mysql,db,数据库,操作系统)