mysql数据迁移

一. 停止数据库

➜  ~service mysql stop

二. 创建数据要存储的目标目录

➜  ~mkdir /data/mysql_data

**三. 指定目录的拥有者

➜  ~chown mysql:mysql /data/mysql_data

四. 修改mysql配置文件

➜  ~vi /etc/mysql/my.cnf
##找到datadir并修改刚才创建的目录##
#datadir = /var/lib/mysql
datadir  = /data/mysql_data

五.复制原来的mysql数据

###记住cp一定要加-a选项,防止权限等丢失###
➜  ~cp -a /var/lib/mysql/* /data/mysql_data/

六. 修改mysql访问新数据目录的权限

➜  ~ vi /etc/apparmor.d/usr.sbin.mysqld
###找到mysql原先的路径权限配置,修改成新的目录###
#/var/lib/mysql/ r
#/var/lib/mysql/** rw
/data/mysql_data/ r
/data/mysql_data/** rw

> 注意:这里目录后面的斜杠"/"一定不能丢,丢了会导致mysql errno 13的错误

七. 重新加载权限控制服务

➜  ~ service apparmor restart

八. 启动mysql服务

➜  ~ service mysql start

九. 测试是否迁移成功

1. 登录数据库,创建一个数据库
mysql>create database migrate_test;
mysql>show databases;
+------------------------+
| Database               |
+------------------------+
| migrate_test           |
+------------------------+
mysql>use migrate_test;
mysql>create table test(name VARCHAR(20), age INT);
mysql>exit

2.进入数据目录查看
➜  ~ cd /data/mysql_data
➜  ~ ls 
###若找到刚才数据库migrate_test对应目录说明迁移成功
migrate_test
➜  ~ ls migrate_test
db.opt  test.frm
迁移MySQL数据库时,可以采取多种方法。其中一种常用的方法是备份和还原。你可以使用mysqldump命令将原有的MySQL数据库备份到一个文件中,然后使用mysql命令将备份文件还原到新的MySQL服务器中。例如,备份一个名为mydb的数据库可以使用以下命令:mysqldump -u root -p mydb > mydb_backup.sql,然后使用以下命令将备份文件还原到新的MySQL服务器中:mysql -u root -p mydb < mydb_backup.sql。\[1\] 另一种常用的方法是导出和导入。你可以使用mysqldump命令将原有的MySQL数据库导出为一个文件,然后使用mysql命令将文件导入到新的MySQL服务器中。例如,导出一个名为mydb的数据库可以使用以下命令:mysqldump -u root -p mydb > mydb_export.sql,然后使用以下命令将文件导入到新的MySQL服务器中:mysql -u root -p mydb < mydb_export.sql。\[1\] 在迁移MySQL数据库时,可能会遇到一些常见的错误。例如,数据库版本不兼容、编码不兼容、数据库用户权限问题、导出或导入的数据量过大、备份文件损坏以及数据库结构不一致等。为了解决这些问题,你需要确保新的MySQL数据库版本与原有的MySQL数据库版本兼容,使用相同的编码,使用具有足够权限的MySQL用户,使用分批次的方式进行导出和导入,确保备份文件完整并且没有损坏,以及确保两个MySQL数据库结构一致。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [如何迁移MySQL数据库?](https://blog.csdn.net/u010986241/article/details/130038625)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值