User Tools

Site Tools


如何迁移mysql数据库

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
如何迁移mysql数据库 [2012/05/08 14:03]
admin
如何迁移mysql数据库 [2014/11/10 07:14] (current)
Line 8: Line 8:
    ​rw-rw---- 1 root  root         6 2012-05-07 22:00 mysql_upgrade_info    ​rw-rw---- 1 root  root         6 2012-05-07 22:00 mysql_upgrade_info
   drwx------ 2 mysql mysql     4096 2012-05-08 21:41 phpmyadmin ​   drwx------ 2 mysql mysql     4096 2012-05-08 21:41 phpmyadmin ​
-可以看出,其中有两个数据库文件夹:mysql文件夹对应mysql系统使用的数据库,phpmyadmin对应的是自有数据库。与数据库有关的所有文件都位于这文件夹中,因此,原则上讲,只要将文件夹下的所有文件导出并拷贝到其他MySQL服务器对应的位置,即可完成数据库的迁移,但拷贝的过程中需要注意不得改变数据库文件夹及其中的数据库文件的权限。+可以看出,其中有两个数据库文件夹:mysql文件夹对应mysql系统使用的数据库,phpmyadmin对应的是自有数据库。与数据库有关的所有文件都位于这文件夹中,因此,原则上讲,只要将这些文件夹下的所有文件导出并拷贝到其他MySQL服务器对应的位置,即可完成数据库的迁移,但拷贝的过程中需要注意不得改变数据库文件夹及其中的数据库文件的权限。
  
-另外一个问题是改变数据库文件的缺省位置,这样的话更便于数据库的安全,因为/​var/​lib/​mysql往往位于系统所在的分区,系统崩溃可能会导致数据库损坏,所以最好将缺省的数据库文件夹置于独立的分区中。可以通过在启动mysql时设置datadir参数来达到这一目的:+另外一个问题是如何改变数据库文件的缺省位置,因为/​var/​lib/​mysql往往位于系统所在的分区,系统崩溃可能会导致数据库损坏,所以最好将缺省的数据库文件夹置于独立的分区中,这样的话更有利于数据库的安全。可以通过在启动mysql时设置datadir参数来达到这一目的:
   $mysqld --user=mysql --datadir=/​mydatadir/​mysql &   $mysqld --user=mysql --datadir=/​mydatadir/​mysql &
 也可以通过修改/​etc/​mysql/​my.conf配置文件中的datadir来完成。 也可以通过修改/​etc/​mysql/​my.conf配置文件中的datadir来完成。
Line 19: Line 19:
   [ 8232.324109] type=1400 audit(1314483729.470:​59):​ apparmor="​DENIED"​ operation="​mknod"​ parent=1 profile="/​usr/​sbin/​mysqld"​ name="/​mydatadir/​mysql/​mypc-00.lower-test"​ pid=30379 ​   [ 8232.324109] type=1400 audit(1314483729.470:​59):​ apparmor="​DENIED"​ operation="​mknod"​ parent=1 profile="/​usr/​sbin/​mysqld"​ name="/​mydatadir/​mysql/​mypc-00.lower-test"​ pid=30379 ​
   comm="​mysqld"​ requested_mask="​c"​ denied_mask="​c"​ fsuid=0 ouid=0   comm="​mysqld"​ requested_mask="​c"​ denied_mask="​c"​ fsuid=0 ouid=0
-要解决apparmor的配置:打开文件/​etc/​apparmor.d/​usr.sbin.mysqld,为/​mydatadir/​mysql添加相应的权限,重新启动apparmor服务。+要解决apparmor的配置问题:打开文件/​etc/​apparmor.d/​usr.sbin.mysqld,为/​mydatadir/​mysql添加相应的权限,重新启动apparmor服务。
  
-相似,如果使用SELinux,很可能会碰到类似的问题,也必然会有类似的解决方案。+如果使用SELinux,很可能会碰到类似的问题,也必然会有类似的解决方案。
如何迁移mysql数据库.txt · Last modified: 2014/11/10 07:14 (external edit)