Linux下MySQL如何修改数据库目录 点击:552 | 回复:0



凌阳教育嵌入式

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:303帖 | 0回
  • 年度积分:0
  • 历史总积分:746
  • 注册:2017年1月19日
发表于:2017-02-24 10:19:32
楼主

  在CentOS下使用yum安装MySQL默认的数据文件路径存放在/var/lib/mysql目录下,工作中项目希望给MySQL的数据文件单独放在/data/mysql下,方便后期管理和维护。下面PHP程序员雷雪松详细的讲解下如何在Linux下将MySQL目录下的数据文件迁移到其他目录。看看凌阳教育的老师是怎么说的呢!


1、停止MySQL服务

1

2

[root@MySQL /]# service mysqld stop

Shutting down MySQL. [ OK ]


2、把/var/lib/mysql整个目录复制到/data/mysql,并将该目录权限属主修改为mysql

1

2

[root@MySQL /]# cp -a /var/lib/mysql /data/mysql

[root@MySQL /]# chown -R mysql:mysql /data/mysql


3、修改MySQL相关配置文件

a、/etc/my.cnf

1

2

3

4

5

# The MySQL server

[mysqld]

port=3306

#socket=/var/lib/mysql/mysql.sock

socket=/data/mysql/mysql.sock

b、/etc/init.d/mysqld

1

2

#get_mysql_option mysqld datadir "/var/lib/mysql"

get_mysql_option mysqld datadir "/data/mysql"

c、/usr/bin/mysqld_safe


1

2

#DATADIR=/var/lib/mysql注释此行

DATADIR=/data/mysql

d、/usr/lib64/mysql/mysql_config


1

2

3

4

#ldata='/var/lib/mysql'

ldata='/data/mysql'

#socket=/var/lib/mysql/mysql.sock

socket=/data/mysql/mysql.sock

4.启动数据库


1

2

[root@MySQL /]# service mysqld start

Starting MySQL....

修改MySQL目录后其他异常问题:

1、MySQL启动失败,查看/var/log/mysqld.log,发现Can’t create test file  /xxx/mysql/centos5.lower-test没有权限创建或读取文件。因为SeLinux阻止比如程序之类的访问他们不应该访问的文件和网络端口。

a、关闭SeLinux。


1

2

3

4

[root@MySQL /]# setenforce 0

[root@MySQL /]# vi /etc/selinux/config

#SELINUX=enforcing

SELINUX=disabled

b、使用chcon修改对象(文件)的安全上下文


1

[root@MySQL /]# chcon -R -t mysqld_db_t /data/mysql

2、MySQL连接时报错Can’t connect to local MySQL server through socket。修改MySQL配置文件/etc/my.cnf。


1

2

3

4

5

6

7

8

[root@MySQL /]# vi /etc/my.cnf

[client]

default-character-set=utf8

socket=/storage/db/mysql/mysql.sock


[mysql]

default-character-set=utf8

socket=/storage/db/mysql/mysql.sock





楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师