CentOS更改MySQL数据库目录位置
由于MYSQL的数据库太大,默认安装的“/var”盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。
以下是将MYSQL数据库默认安装目录从“/var/lig/mysql”目录转移到“/home/mysql_data/”目录具体操作流程:
通过用”YUM”安装“MYSQL”数据库,安装目录为默认路径:”/var/lib/mysql”
启动“MYSQL”数据库
[root@localhost~]#servicemysqldstart
设置“MYSQL”数据库登录密码
[root@localhost~]#mysqladmin–urootpassword123
登录测试“MYSQL”可否正常登录
[root@localhost~]#mysql–uroot–p123
创建所需的测试数据库
Mysql>createdatabasesceshi;
Mysql>showdatabases;
进入测试数据库,创建表
Mysql>useceshi;
Mysql>createtablemytable(namevarchar(20),sexchar(1),birthdate,homevarchar(30));
Mysql>showtables;
向表里增加数据
Mysql>insertintomytablevalues(’zhangsan’,’m’,’1977-05-16’,’china’);
Mysql>insertintomytablevalues(’lisi’,’m’,’1988-09-25’,’china’);
Mysql>select*frommytable;
到此!开始做“MYSQL”数据库目录位置的迁移
1.关闭“MYSQL”
[root@localhost~]#servicemysqldstop
2.创建迁移后数据库所要放置的目录
[root@localhost~]#mkdir/home/mysql_data
3.转移数据,把默认安装目录【/var/lib/mysql】拷贝的新创建的数据目录【/home/mysql_data】下
[root@localhost~]#cd/var/lib
[root@localhostlib]#cp-arpmysql/home/mysql_data
【注:-a这个参数保持原因文件的权限;-r连同目录一块复制】
[root@localhost~]#cd/home/mysql_data/mysql
4.修改配置文件,一共有三处:
修改第一处文件:修改之前先备份原有文件
[root@localhost~]#cp/etc/f/etc/fbak
修改数据存放目录:
原来存放路径:【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/f
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~]#servicemysqldstart
8.启动“MYSQL”服务后需要建立一个mysql.sock的链接:
Ln-s/home/mysql_data/mysql/mysql.sock/var/lib/mysql/mysql.sock
9.查看进程“MYSQL”运行的是否为修改后的路径
[root@localhost~]#ps–ef|grepmysql
测试可否正常登录数据库
[root@localhost~]#mysql-uroot-p
10.测试向表中插入数据:
插入数据前“mytable”表中的数据
Mysql>select*frommytable;
向“mytable”表中插入一条新数据
Mysql>insertintomytablevalues(’wangwu’,’m’,’1985-09-15’,’china’);
11.最后修改下数据库的权限
[root@localhost~]#chown-Rmysql:mysql/home/data/mysql/
注:改变数据库的归属为mysql
[root@localhost~]#chmod700/home/data/mysql/test/
注:改变数据库目录属性为700
[root@localhost~]#chmod660/home/data/mysql/test/*
注:改变数据库中数据的属性为660