range

If there were you, the world would be just right

因为yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区,原ubuntu环境更换centos环境,在数据库迁移这里卡住(个人菜),记录一下
安装mysql5.7

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
service mysqld restart

临时密码查看:

grep 'temporary password' /var/log/mysqld.log

更改密码(mysql命令):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password'

1.停止mysql

service mysqld stop

2.拷贝原数据目录(cp -aR 保留原文件权限)

cp -aR /var/lib/mysql /data/mysql

3.修改 /etc/my.cnf

把/var/lib/mysql 目录相关改为,/data/mysql

4.关键一步,关闭selinux

# 临时关闭
setenforce 0

# 永久关闭,把 /etc/selinux/config 中
SELINUX=enforcing 修改为 SELINUX=disabled

5.启动mysql

service mysqld start

6.查看数据目录

mysql> select @@datadir;
+--------------+
| @@datadir    |
+--------------+
| /data/mysql/ |
+--------------+

我的是yum安装,迁移问题解决。如果启动不成功,请查看日志(位置在my.cnf中有配置),自行百度答案


1、停止MySQL的服务

sudo service mysql stop

2、复制原有数据库文件

su(获取root权限)
cp -av /var/lib/mysql/* /mysqldata/ (*代表mysql下的所有文件)

3、修改数据库配置文件

sudo vi /etc/mysql/mysql.conf.d/mysql.cnf
修改:找到datadir将其注释掉 如:#datadir = /var/lib/mysql
然后另起一行:datadir     =/mysqldata
保存退出!

4、修改appormar 配置

vi /etc/apparmor.d/user.sbin.mysqld

修改为:
# Allow data dir access
#/var/lib/mysql/ r,(将原来的注释掉)
#/var/lib/mysql/** rwk,(将原来的注释掉)
/mysqldata/ r,(新建)
/mysqldata/** rwk,(新建)

5、重启apparmor

sudo service apparmor reload

6、启动MySQL

sudo service mysql start

7、登陆MySQL

mysql -u  root -p