时间:2021-07-01 10:21:17 帮助过:131人阅读
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中。 命令如下:[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 目录。重启库也是需要的。