mysqldump -u root -p123456 --all-databases > all.sql
mysql -uroot -p123456 < "/home/blue/all.sql"
转载:https://blog.csdn.net/shennongminblog/article/details/78858660
概述
本文描述了在Ubuntu 16.04系统下修改mysql-server-5.7数据库datadir目录的详细步骤。目标:将数据库目录datadir从/var/lib/mysql修改到/home/database/mysql。
系统信息:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
$ uname -a
Linux Ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1
2
3
4
5
6
7
8
9
mysql-server版本:
Server version: 5.7.11-0ubuntu6 (Ubuntu)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
1
2
3
4
5
6
7
步骤
以下步骤需要停止mysql服务并假设用户拥有管理员权限。
一、停止mysql服务
sudo service mysql stop
1
二、新建目录并移动现有数据库
重要提示:强烈建议先备份/var/lib/mysql文件夹,数据无价!!!强烈建议先备份/var/lib/mysql文件夹,数据无价!!!强烈建议先备份/var/lib/mysql文件夹,数据无价!!!
创建新的数据库目录:
sudo mkdir /home/database
1
移动当前数据到新目录:
sudo mv /var/lib/mysql /home/database/
1
同时需要删除日志文件:
sudo rm /home/database/mysql/ib_logfile0
sudo rm /home/database/mysql/ib_logfile1
1
2
三、修改mysql配置文件
修改/etc/mysql/mysql.conf.d/mysqld.cnf中datadir的值为:
datadir = /home/database/mysql
1
四、修改apparmor配置
修改/etc/apparmor.d/usr.sbin.mysqld中的Allow data dir access部分,改后如下:
# Allow data dir access
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/home/database/mysql/ r,
/home/database/mysql/** rwk,
1
2
3
4
5
重新加载apparmor服务使修改生效:
sudo service apparmor reload
1
五、修改mysql-systemd-start
修改/usr/share/mysql/mysql-systemd-start文件,将类似/var/lib/mysql的内容全部修改为/home/database/mysql。
六、启动mysql服务
sudo service mysql start
1
七、验证
进入mysql命令行,执行show variables like '%datadir%';,可以看到如下信息:
mysql> show variables like '%datadir%';
+---------------+-----------------------+
| Variable_name | Value |
+---------------+-----------------------+
| datadir | /home/database/mysql/ |
+---------------+-----------------------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
表示修改成功。恭喜你!
附加说明
当mysql服务无法启动时,可以通过datadir目录对数据库进行备份。直接完全拷贝保存即可。可以在当前主机或其它主机(最好mysql版本相同)上直接将原有datadir目录替换即可完成数据恢复。
---------------------
作者:神农民
来源:CSDN
原文:https://blog.csdn.net/shennongminblog/article/details/78858660
版权声明:本文为博主原创文章,转载请附上博文链接!