如何把本地MySql数据库移植到远程服务器上

如何把本地MySql数据库移植到远程服务器上,第1张

将本地数据库导入到服务器数据库的方法/步骤:

1、在本地和服务器都安装同样的数据库客户端,如oracle常用SQLPlus、MySQL常用HeiDi sql或者navicat、mssql2005则常用SQL Server Management Studio;

2、在本地通过数据库客户端导出数据库为sql文件;

3、将sql文件远程传递到服务器上;

4、在服务器上用相同的数据库客户端将sql文件执行一遍即可将本地数据库导入到服务器上。

1. 在主服务器上为从服务器建立一个用户:

grant replication slave on *.* to '用户名'@'主机' identified by '密码'(在MySQL 4.0.2以前,用 FILE 权限来代替 REPLICATION SLAVE)

如果打算在slave上执行 LOAD TABLE FROM MASTER 或 LOAD DATA FROM MASTER 语句,那么必须给该帐户授予附加权限:

授予全局 SUPER 和 RELOAD 权限。

授予对想要加载的所有表上的 SELECT 权限。在master上任何没有 SELECT 权限的表都会被 LOAD DATA FROM MASTER 略过。

2. 编辑主服务器的配置文件:/etc/my.cnf

server-id = 1

log-bin

binlog-do-db=需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可

binlog-ignore-db=不需要备份的数据库苦命,如果备份多个数据库,重复设置这个选项即可

3. 编辑从服务器的配置文件:/etc/my.cnf

server-id=2 (配置多个从服务器时依次设置id号)

master-host=主机

master-user=用户名

master-password=密码

master-port=端口

replicate-do-db=需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可

记得先手动同步一下主从服务器中要备份的数据库,然后重启主,从服务器。

要验证主从设置是否已经成功,可以登录从服务器输入如下命令:

mysql>show slave statusG

得到的列表会有类似下面的数据:

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果后面两个选项不全是Yes,那就说明你前面某个步骤配置错了。

如果你的设置是正确的,尝试在主服务器上插入若干条记录,然后你再转到从服务器,会发现相应的新记录已经自动同步过来了。

如果你的主从服务器已经配置好了,那么你在应用程序中,只要保证所有的insert/delete/update操作是在主服务器上进行的,那么相应的数据变化会自动同步到从服务器上,这样,我们就可以把select操作分担到多台从数据库上,从而降低服务器的载荷。

如果你想使用复制数据文件的方式来备份数据库,只要在从服务器上的mysql命令行先键入slave stop然后复制数据库文件,复制好了,再在mysql命令行键入slave start启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

-----------------------------------------------------------------------------------

提示:如果修改了主服务器的配置,记得删除从服务器上的master.info文件。否则从服务器使用的还是老配置,可能会导致错误。

-----------------------------------------------------------------------------------

注意:关于要复制多个数据库时,binlog-do-db和replicate-do-db选项的设置,如果要备份多个数据库,只要重复设置相应选项就可以了。

比如:

binlog-do-db=a

binlog-do-db=b

replicate-do-db=a

replicate-do-db=b


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/638686.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存