如何复制MySQL数据库或表到另外一台服务器?

如何复制MySQL数据库或表到另外一台服务器?,第1张

使用这种方法前,我们需要先下载一个MySQL客户端工具SqlYog。点击这里下载并安装\x0d\x0a\x0d\x0a下面我们开始复制数据库:\x0d\x0a1、打开SqlYog community Edition,分别在不同的选项卡中打开源数据库服务器与目标数据库服务器,这一点很重。\x0d\x0a\x0d\x0a在源数据库服务器选项卡中你将看到所有数据库列表。\x0d\x0a2、在需要复制迁移的数据库上右击,在d出菜单中选择“Copy Database to Different Host/Database”\x0d\x0a3、在d出对话框中,我们能看到源数据库服务器及目标服务器,在左边,通过勾选复选框来选择需要复制迁移的对象,如表、函数、触发器等,也可以选择所有对象。\x0d\x0a4、在右边选择需要迁移的目标服务器或数据库\x0d\x0a5、根据你的需要选择复制类型:“Structure and Data”或“Structure only”,即“结构和数据”或“仅结构”。\x0d\x0a6、选择结束后点击“Copy”按钮开始复制,知道数据迁移结束。

具体 *** 作步骤如下:

1.首先格式化磁盘,并将数据盘挂载在mnt目录下

mkdir -p /mnt/data

2.用mysqldump命令导出您项目所有的数据,命令参考如下:

mysqldump -p --all -datebases>all.sql

3.停止mysql

/etc/init.d/mysqld stop

4.vim/etc/init.d/mysqld 将文件中“datadir = /server/mysql/data”中的目录地址更改为您迁移至数据盘中的目录地址,即“datadir=/mnt/data”。

5.然后用以下命令初始化一个全新的数据库环境:

/server/mysql/scripts/mysql_install_db --basedir =/server/mysql--datadir = mnt/data -- user =mysql

值得注意的是datadir为您mysql的数据目录。

6.启动mysql,然后将数据还原至新的数据盘中:

/etc/init.d/mysqld start

mysql <all.sql

/etc/init.d/mysqld restart

[mysqld]

# * Basic Settings

user            = mysql

pid-file        = /var/run/mysqld/mysqld.pid

socket          = /var/run/mysqld/mysqld.sock

port            = 3306

basedir        = /usr

datadir        = /data/c/mysql 修改

#datadir        =/var/lib/mysql

这个原因有二,其中任意的一个原因都会造成你被系统告知这个warning。如果你不是一个专业的linux系统安全工程师,或者你只是个PHP程序员,并没有对系统安全有深入的研究,你就不会太容易找到它的答案。

第一,selinux,记得当年念书时,字符界面安装redhat(很古老的 *** 作系统么。。。)的时候,有这么一个选项,通常大家都听取前辈的建议,改变默认值以不安装它。但如果你恰好要 *** 作的这台机器开着selinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的 *** 作,并爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭selinux,以便让你的 *** 作可以继续下去 setenforce 0 但最好使用一个永久方法,以便在重启后继续不要这货。 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启或等待下次重启。

第二,apparmor,这个坑爹货和selinux一样的坑爹,它也对mysql所能使用的目录权限做了限制 在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限

/var/lib/mysql/ r, /var/lib/mysql/** rwk,

你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限 我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了

/data/mysql/ r, /data/mysql/** rwk,

  /var/lib/mysql/ r,

  /var/lib/mysql/** rwk,

  /datc/c/mysql/ r,

  /data/c/mysql/** rwk,

  /var/lib/mysql-files/ r,

  /var/lib/mysql-files/** rwk,

  /data/c/mysql-files/ r,

  /data/c/mysql-files/** rwk,

  /var/lib/mysql-keyring/ r,

  /var/lib/mysql-keyring/** rwk,

  /data/c/mysql-keyring/ r,

  /data/c/mysql-keyring/** rwk,

apparmor,/etc/inid.d/apparmor restart////////////     /etc/init.d/apparmor restart


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7672181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存