ubuntu24.04 用apt安装的mysql修改存储路径(文件夹、目录)
ubuntu24.04 用apt安装的mysql修改存储路径(文件夹、目录)
环境
ubuntu24.04,mysql8.0。安装方式apt install安装的。
先默认配置下登录并查看MySQL当前的数据目录
登录
mysql -u root -p
查看数据目录
show global variables like "%datadir%";
当前目录
mysql> show global variables like "%datadir%";
+---------------+-------------------+
| Variable_name | Value |
+---------------+-------------------+
| datadir | /var/lib/mysql |
+---------------+-------------------+
1 row in set (0.00 sec)
修改目录目录
nano /etc/mysql/my.cnf
改成
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/[mysqld]
datadir=/data/mysql/data
新建并复制数据文件夹内容
systemctl stop mysql
mkdir -p /data/mysql
cp -R /var/lib/mysql
修改权限为mysql
cd /var/lib/mysql
chown mysql:mysql -R data
启动mysql试试
$ systemctl start mysqlJob for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xeu mysql.service" for details.
此时无法启动mysql,还需改mysql的访问权
修改访问权限
修改usr.sbin.mysqld
nano /etc/apparmor.d/usr.sbin.mysqld
找到Allow data dir access段并添加/data/mysql/** rwk
# Allow data dir access/var/lib/mysql/ r,/var/lib/mysql/** rwk,/data/mysql/** rwk,
保存后重启apparmor
systemctl restart apparmor
再启动mysql
systemctl start mysql
成功启动
验证
查看数据目录
show global variables like "%datadir%";
当前目录
mysql> show global variables like "%datadir%";
+---------------+-------------------+
| Variable_name | Value |
+---------------+-------------------+
| datadir | /data/mysql/data |
+---------------+-------------------+
1 row in set (0.00 sec)