由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区。步骤如下:
一、关闭apache和mysql.
复制代码 代码如下:
service httpd stop
service mysqld stop
二、将/var/lib下的mysql目录mv(移动)到data目录。
为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性。如果用cp命令,就需要回头再去设置mysql文件夹的selinux属性,本人因很头疼selinux故能避则避。
复制代码 代码如下:
mv -R /var/lib/mysql /data/mysql
三、修改mysql配置文件/etc/my.cnf。将datadir和socket的路径改为/data目录下。
复制代码 代码如下:
[mysqld]
#datadir=/var/lib/mysql ------原系统默认路径
datadir=/home/mysql ------现有路径
#socket=/var/lib/mysql/mysql.sock ------原socket路径现
socket=/home/mysql/mysql.sock ------现有路径
[mysqld_safe]
socket=/home/mysql/mysql.sock -----现有路径
[client]
socket=/home/mysql/mysql.sock -----现有路径
[mysql.server]
socket=/home/mysql/mysql.sock -----现有路径
四、修改php配置文件(/etc/php.ini)中的socket路径。
没错,千万不要忘记了php.ini里也要指明socket的路径,否则php网站会无法连接到数据库的。php.ini里默认socket路径是空的,默认是指向/var/lib/mysql,所以也要改为/data/mysql.
复制代码 代码如下:
[mysql]
mysql.default_socket = /home/mysql/mysql.sock
[mysqli]
mysql.default_socket = /home/mysql/mysql.sock
五、启动apache.mysql.
复制代码 代码如下:
service httpd start
service mysqld start
相关文章
- Mysql 定位执行效率低的sql 语句
- mysql5.7安装配置,常用命令,常见问题
- MySQL缓存机制详解(一)
- [MySQL FAQ]系列 — processlist中哪些状态要引起关注 解决mysql cpu过高问题
- "Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
- 《MySQL高级篇》十四、多版本并发控制
- PHP MySQL从半径用户的位置获取位置
- 终极MySQL遗留数据库的噩梦
- MySql在Mac上的安装配置
- 如何删除Mysql“显示processlist”中的所有进程?