【Centos】Mysql修改数据文件目录或解决部分报错
参考:
【本文大部分参考此文档】
流程:
1.正常安装Mysql,默认 安装目录/usr/local/mysql 数据文件目录/usr/local/mysql/data
2.修改数据文件目录至 /home/mysql/data 【需求】
操作:
第一步:
1.查看MySQL源数据存放路径的命令:
show variables like datadir;
查询后,结果如图显示:
2.停止Mysql服务:
service mysql stop //或者service mysqld stop 如果没有添加至服务,执行下一句 ps -ef|grep mysql kill -9 pid //pid= 上一句命令查询后所得
3.创建新的目录:/home/mysql/data,同时确保权限是否赋予
//创建用户 groupadd mysql useradd mysql -g mysql //创建目录 mkdir -p /home/mysql/data //授权 chmod -R 777 /home/mysql chown -R mysql:mysql /home/mysql
4.将以前的数据文件复制到新的数据目录下:
cp -rf /usr/local/mysql/data/* /home/mysql/data/ chown -R mysql:mysql /home/mysql/data/* //再刷一次权限
5.更改配置文件:
①/etc/my.cnf
[client] socket = /home/mysql/data/mysql.sock [mysqld] datadir = /home/mysql/data socket = /home/mysql/data/mysql.sock
②/etc/init.d/mysql[或者mysqld]
datadir = /home/mysql/data
6.刷新目录权限:
chown -R mysql:mysql /home/mysql/data service iptables restart service iptables stop setenforce 0
7.重启mysql服务
service mysql start/restart //service mysqld start/restart //如果没有添加服务 cd /usr/local/mysql/support-files ./mysql.server start
8.进入mysql命令行
mysql或者mysql -uroot -p或者 mysql -hlocalhost -uroot -p等 show databases; show variables like datadir //查看目录是否修改成功:/home/mysql/data
此时数据文件目录已经修改成功,后续是权限已经表权限问题。
第二步:
1.进入数据文件目录查看属性:
//授权 cd /home/mysql/data ll -lah //授权 chmod -R 777 /home/mysql/data/* chown -R mysql:mysql /home/mysql //查看移动过来的数据文件属性,如:mysql,test~~~~~ //确保属性为mysql,有必要可以进入下层目录,查看属性,如果为root,需修改成MySQL
2.刷新mysql.server表
//连接mysql mysql -uroot -p //连接mysql数据库 use mysql; //刷新 flush privileges; //报错ERROR 1146(42S02):Table mysql.servers doesnt exist //删除servers表 drop table if exists mysql.servers;
3.运行建库脚本
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=MySQL Foreign Servers table;
4.再次刷新权限
flush privileges; //如果还是报错,重启后再次执行
5.完成,此时打开Navicat连接即可。
报错问题一览:
1.参考
2.安装完成后 提示pid,或者localadmin.locaadmin之类的
答:一般是sock文件,或者错误修改目录导致
