linux MySQL数据库位置变更及更改库名 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    Linux环境下:MySQL默认的数据文件存储目录为/var/lib/mysql,

linux 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中,

电脑资料

linux MySQL数据库位置变更及更改库名》(https://www.unjs.com)。 命令如下:[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 目录。重启库也是需要的。

最新文章