CentOS 更改MySQL数据库目录位置

CentOS 更改MySQL数据库目录位置

由于MYSQL的数据库太大,默认安装的“/var”盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。

以下是将MYSQL数据库默认安装目录从“/var/lig/mysql”目录转移到“/home/mysql_data/”目录具体操作流程:

通过用”YUM”安装“MYSQL”数据库,安装目录为默认路径:”/var/lib/mysql”

技术分享 

技术分享 

启动“MYSQL”数据库

[root@localhost ~]#service mysqld start

设置“MYSQL”数据库登录密码

[root@localhost ~]#mysqladmin –uroot password 123

技术分享 

登录测试“MYSQL”可否正常登录

[root@localhost ~]#mysql –uroot –p123

技术分享 

创建所需的测试数据库

Mysql>create databases ceshi;

Mysql>show databases;

技术分享 

进入测试数据库,创建表

Mysql>use ceshi;

Mysql>create table mytable (name varchar(20),sex char(1),birth date,home varchar(30));

Mysql>show tables;

技术分享 

向表里增加数据

Mysql>insert into mytable values(’zhangsan’,’m’,’1977-05-16’,’china’);

Mysql>insert into mytable values(’lisi’,’m’,’1988-09-25’,’china’);

Mysql>select * from mytable;

技术分享 

到此!开始做“MYSQL”数据库目录位置的迁移

1. 关闭“MYSQL”

[root@localhost ~]#service mysqld stop

2. 创建迁移后数据库所要放置的目录

[root@localhost ~]#mkdir /home/mysql_data

技术分享 

3.  转移数据,把默认安装目录【/var/lib/mysql】拷贝的新创建的数据目录【/home/mysql_data】下

[root@localhost ~]#cd /var/lib

技术分享 

[root@localhost lib]#cp  -arp mysql /home/mysql_data

【注:-a这个参数保持原因文件的权限;-r连同目录一块复制】 

[root@localhost ~]#cd /home/mysql_data/mysql

技术分享 

4. 修改配置文件,一共有三处:

修改第一处文件:修改之前先备份原有文件

[root@localhost ~]#cp /etc/my.cnf /etc/my.cnfbak

修改数据存放目录:

原来存放路径:【datadir=/var/lib/mysql】 

è

现在存放路径:【 datadir=/home/mysql_data/mysql】

 

原来存放路径:【socket=/var/lib/mysql/mysql.sock】

 è

 现在存放路径:【socket=/home/mysql_data/mysql/mysql.sock】

【注:为了安全,可以将原来的注释掉,重新加入一行。】

[root@localhost ~]#vim /etc/my.cnf

技术分享 

5. 修改第二个文件:修改之前先备份原有文件

[root@localhost ~]#cp /etc/init.d/mysqld /etc/init.d/mysqldbak

修改数据目录:

原来存放路径【/var/lib/mysql】

è 

现在存放路径【/home/mysql_data/mysql】

【注:准确的位置是/etc/rc.d/init.d/mysqld,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,】

[root@localhost ~]#vim /etc/init.d/mysqld

技术分享 

技术分享 

6. 修改第三处文件:修改之前先备份原有文件

[root@localhost ~]#cp /usr/bin/mysqld_safe /usr/bin/mysqld_safebak

修改数据目录:

原来存放路径【/var/lib/mysql】

è 

现在存放路径【/home/mysql_data/mysql】

[root@localhost ~]#vim /usr/bin/mysqld_safe

技术分享 

技术分享 

7. 启动“MYSQL”服务

[root@localhost ~]#service mysqld start

技术分享 

8. 启动“MYSQL”服务后需要建立一个mysql.sock的链接:

Ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

技术分享 

9. 查看进程“MYSQL”运行的是否为修改后的路径

[root@localhost ~]#ps –ef | grep mysql

技术分享 

测试可否正常登录数据库

[root@localhost ~]#mysql  -uroot -p 

技术分享 

10.  测试向表中插入数据:

插入数据前“mytable”表中的数据

Mysql>select * from mytable;

技术分享 

向“mytable”表中插入一条新数据

Mysql>insert into mytable values (’wangwu’,’m’,’1985-09-15’,’china’);

技术分享 

11.  最后修改下数据库的权限

[root@localhost ~]# chown -R mysql:mysql /home/data/mysql/  

注: 改变数据库的归属为mysql

[root@localhost ~]# chmod 700 /home/data/mysql/test/  

注: 改变数据库目录属性为700
[root@localhost ~]# chmod 660 /home/data/mysql/test/*  

注: 改变数据库中数据的属性为660

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。