最近数据库服务器数据出现了好几次内存满,是因为当时mysql 数据库安装到根目录了。自动安装系统的根目录内存会分配的很少。
迁移数据目录踩了大坑的 !!!!!!!!!!!!!
迁移mysql 8.0
首先备份数据库。
1.停止Mysql服务
systemctl stop mysqld
2.迁移数据库目录
mv /var/lib/mysql/ /home/data
3.修改my.cnf 文件
datadir地址不能用迁移过去的,会报错。迁移的时候会丢失文件,所以我新建了个文件夹。用的data1
datadir=/home/data1/mysql
socket=/home/data1/mysql/mysql.sock
报错如下
赋权
# chown -R mysql.mysql /home/data/mysql
或 # chown -R mysql:mysql /home/data/mysql
如果还是有错误
setenforce 0
或者直接在配置文件【/etc/sysconfig/selinux】中设置SELinux=disabled
起服务
systemctl start mysqld
systemctl status mysqld
服务启动成功,但是坑又来了
如果你连接数据库没问题,那就不用往下看了
如果报/mysql.sock文件找不到,修改my.cnf文件
my.cnf 修改成如下图
三个都要写:
systemctl stop mysqld
systemctl start mysqld
systemctl status mysqld
启动成功后密码都重置了。所以我们的重新更改密码
cat /var/log/mysqld.log | grep 'password is generated'
登录
mysql -uroot -p
重置
alter user root@'localhost' identified with mysql_native_password by 'Root@123456';