centos7 xtrabackup mysql 基本测试(4)---虚拟机环境 mysql 修改datadir

centos7 xtrabackup mysql 基本测试(4)—虚拟机环境 mysql 修改datadir

参考
centos更改mysql数据库目录
https://blog.youkuaiyun.com/sinat_33151213/article/details/125079593

https://blog.youkuaiyun.com/jx_ZhangZhaoxuan/article/details/129139499

https://dev.mysql.com/doc/refman/8.4/en/selinux-file-context.html

https://developer.aliyun.com/article/1238771

https://cloud.tencent.com/developer/article/1409771

创建目录

sudo mkdir -p /opt/data/

首先,关闭MySQL服务:

sudo systemctl stop mysqld
sudo systemctl status  mysqld

然后,复制原始datadir目录,作为新的目录:
sudo cp -rp /var/lib/mysql /opt/data/
sudo ls /opt/data/mysql/

接下来,修改 MySQL配置文件my.cnf:
sudo cp /etc/my.cnf /etc/org_my.cnf
sudo vi /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/opt/data/mysql/
socket=/opt/data/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/opt/data/mysql/mysql.sock

保存并关闭文件。此时,需要递归更改新目录的权限,以确保MySQL能够访问其中的数据:

sudo chown -R mysql:mysql /opt/data/mysql

sudo chmod -R 755 /opt/data/
这句话可以不要吧,

[client]这个也是需要的
不然
只能下面
mysql -h 127.0.0.1 -u root -p
这种方式登录
不能
mysql -u root -p
这种方式登录

sudo cp /etc/my.cnf /etc/opt_my.cnf

selinux 与 mysql

getenforce
查看 selinux 状态
Enforcing

先查看当前配置信息.

getenforce

Enforcing

就表明SELinux已经启用.只需要关闭即可。

关闭方法: (不用关闭)

#setenforce 0 (0|1 开|关)

或者

setsebool ftpd_disable_trans 1

有两种方式关闭selinux

1、临时关闭:输入命令setenforce 0,重启系统后还会开启。
2、永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出

如果selinux不关闭的话,修改ssh端口等策略会不生效,

比如向将ssh端口修改为22011,修改后重启sshd服务,端口未修改,此时需要执行setendforce 0 命令,然后再次重启sshd服务就可以了

semanage

ping www.baidu.com

检查并修改/etc/resolv.conf文件,确保DNS服务器地址正确。
nameserver 8.8.8.8
nameserver 8.8.4.4

CentOS7安装时使用"基础服务器"选项安装, 后发现没有semanage命令.

使用yum查询选项搜索

sudo yum provides semanage

多试几次

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
base                                                                                
extras                                                                              
mysql-connectors-community                                                          
mysql-tools-community                                                               
mysql57-community                                                                   
updates                                                                             
updates/7/x86_64/primary_db                                                         
updates/7/x86_64/filelists_db                                                       
policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities
Repo        : base
Matched from:
Filename    : /usr/sbin/semanage

sudo yum install -y policycoreutils-python-2.5-34.el7.x86_64

sudo semanage fcontext -l|grep mysqld_db_t

/var/lib/mysql(-files|-keyring)?(/.*)?             all files          system_u:object_r:mysqld_db_t:s0

11

sudo semanage fcontext -a -t mysqld_db_t "/opt/data/mysql(/.*)?"
sudo restorecon -Rv /opt/data/mysql
sudo semanage fcontext -l|grep mysqld_db_t

22

/var/lib/mysql(-files|-keyring)?(/.*)?             all files          system_u:object_r:mysqld_db_t:s0 
/opt/data/mysql(/.*)?                           all files          system_u:object_r:mysqld_db_t:s0 

33
sudo systemctl start mysqld
sudo systemctl status mysqld

44

测试

mysql -u etc -p
1234aA~1

进入之后

show variables like '%dir';

在这里插入图片描述
图中 是 老的 datadir ,后来修改为 data了

日期: 2024年6月24日
下一步是 开始 xtrabackup 了吧

新的 未动过的 mysql 数据库
在这里插入图片描述
新的 未动过的 mysql 数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值