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://www.idcspy.com/mysql-position.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站