MySQL是一个关系型数据库管理系统。当前属于Oracle公司产品。MySQL是最流行的关系型数据库管理系统之一。由于关系数据库将数据保存在不同的表中。因此。能够大大增加了访问速度并提高了灵活性。
目前。在国内外众多的Linux系统的主机产品中。均采用MySQL数据库的。也就是我们常说的PHP+MySQL运行环境。一般情况下。使用虚拟主机空间的话。主机商已经为我们配置好了MySQL数据存储路径。但是。对于服务器来说。MySQL数据库的存储位置我们是可以自行设置的。
刚好。最近一段时间来。很多使用RAKSmart服务器的朋友都有问起。“怎样更改MySQL数据存储路径”。为此。这里就来简单介绍下更改MySQL数据存储路径的简单方法。
一般情况下。MySQL默认的数据文件存储目录为/var/lib/mysql。假如你要把目录移到/home/database下面。那么需要进行以下几步:
1。首先在home目录下建立database目录
命令:cd/homemkdir data
2。接下来把MySQL服务进程停掉:
命令:mysqladmin -u root -p shutdown
3。把/var/lib/mysql整个目录移到/home/database下面
命令:mv /var/lib/mysql /home/database/
通过这三个步骤。我们就把MySQL的数据文件移动到了/home/database/mysql下
4。接下来。我们找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件。请到/usr/share/mysql/下找到*.cnf文件。拷贝其中一个到/etc/并改名为my.cnf。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5。编辑MySQL的配置文件/etc/my.cnf
当然。为保证MySQL能够正常工作。需指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock。具体操作如下:
vi my.cnf(用vi工具编辑my.cnf文件。找到下列数据修改之)# The MySQL server[mysqld] port=3306#socket=/var/lib/mysql/mysql.sock(原内容为了更稳妥用“#”注释此行)socket=/home/database/mysql/mysql.sock(加上此行)。
6。修改MySQL启动脚本/etc/init.d/mysql
最后。需要修改MySQL启动脚本/etc/init.d/mysql。把其中datadir=/var/lib/mysql一行中。等号右边的路径改成你现在的实际存放路径。即:home/database/mysql。
[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注释此行)datadir=/home/database/mysql (加上此行)。
当然。如果是CentOS还要改/usr/bin/mysqld_safe 相关文件位置;最后再做一个mysql.sock链接。命令如下:
in -s /home/database/mysql/mysql.sock /var/lib/mysql/mysql.sock
7。重新启动MySQL服务
/etc/init.d/mysqld start。或用reboot命令重启Linux。
如果工作正常移动就成功了。否则对照前面的7步再检查一下。还要注意目录的属主和权限。
复制内容到剪贴板
详细代码如下:
[root@sample ~]# chown -R mysql:mysql /home/data/mysql/ ← 改变数据库的归属为mysql
[root@sample ~]# chmod 700 /home/data/mysql/test/ ← 改变数据库目录属性为700
[root@sample ~]# chmod 660 /home/data/mysql/test/* ← 改变数据库中数据的属性为660
此外。如果大家按照以上方法设置。如果出现错误的。那么可能是由于以下2个原因引起的。
第一。在CentOS系统上。如果MySQL是通过yum安装的。那么可能使用上面的方法不能完全凑效。
原因:MySQL的配置文件有多处。除了更改/etc/my.cnf文件之外。还需要更改/usr/lib64/mysql/mysql_config。
因为。这个文件里面有一行“ldata=’/var/lib/mysql’”和”socket=/var/lib/mysql/mysql.sock”。这里也需要改掉的。
第二。可能是由于权限问题导致的。大家可以查看/var/log/mysqld.log。如果发现Can’t create test file /xxx/mysql/centos5.lower-test提示。那么就是因为没有权限创建或读取文件。
当然。解决办法就是使用setenforce 0 这个命令。让系统关闭权限校验。然后再运行命令 service mysqld start 发现OK了。
另外一种方法是:restorecon -FRv /home/database/mysql。或chcon -R -t mysqld_db_t /home/database/mysql。这样也可以解决的。
总之。在Linux主机中。大多数据朋友会把数据存储在默认位置了。不过有的朋友为了方便。可能需要更换MySQL数据库存储位置。如果大家想更改的话。可以按照上述方法就行设置就可以了。
本文地址:https://gpu.xuandashi.com/18037.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!