JN项目-将服务器上的mysql数据库转移到本地

背景介绍:因为连的是远程的数据库,我本地没有安装数据库,但是要改动数据库里面的配置文件,所以先要在本地数据库测试好

1.安装mysql数据库,和远程保持一致版本是5.7.17


2.接着就是next一步步安装,我发现和5.5安装界面不一样,无妨,一路next就可以了,其中要设置好用户名和密码

我设置的是用户名和密码是:root  mysql

3.一般情况下安装好mysql服务就已经启动了,平时不用的时候可以关掉,因为比较占内存


4.测试链接,OK


5.从远程数据库拷贝一份数据库下来


6.连接好本地数据库,在里面新建数据库


7.右键点击运行SQL文件导入.sql文件


8.原以为很简单,就这样导入就好了,结果却出现很多问题

问题1:.sql文件里面含有视图,而且顺序是乱的,直接执行是不行的,于是我把表和视图分开成两个.sql文件,

准备先执行好建表语句和insert into语句,再执行视图语句


问题2:授权

网上说要授权,所有要先授权

SELECT * FROM mysql.user WHERE USER='root'

GRANT ALL ON 数据库名称.* TO '用户名'@'localhost' IDENTIFIED BY '密码';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql';

FLUSH PRIVILEGES;

主要是这句话:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql';

问题3:导入的时候,insert into数据量大会报错,百度下

错误代码: 1153 - Got a packet bigger than 'max_allowed_packet' bytes 终止了数据导入。

当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些

客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与MySQL服务器的连接”错误。

客户端和服务器均有自己的max_allowed_packet变量,因此,如你打算处理大的信息包,必须增加客户端和服务器上的该变量。

查看当前此参数的值:show variables like '%max_allowed_packet%';只有4M,明显小了。


网上说可以临时加大该值,执行一下命令可以将max_allowed_packet的值设置大一点:

set global max_allowed_packet = 2*1024*1024*10

博主说:注意,使用这种方法,重启服务器之后又恢复默认值了。这里博主只是导数据的时候临时将其值设置大一点,导完之后尽

量让其恢复原值,因为max_allowed_packet设置过大可能会导致服务器太忙来不及接收,网络差的时候也可能会出现丢包的现

象。

也可以在配置文件中增大该值,在配置文件my.ini中修改,可是找不到my.ini文件啊?


原来是找错地方了,网上是在ProgramData中找到的 http://www.cnblogs.com/grasshopper/p/7098987.html


所以搜索该文件夹,找到啦,顿时觉得有希望了




9.设置max_allowed_packet


我改成了40M,重新启动mysql服务


mysql命令行查看,OK,增大了10倍


10.接着按部就班先导入建表语句和insert into语句,再执行视图语句(注意在调整视图的先后顺序),完成


经过一下午的尝试,完成了将服务器上的mysql数据库转移到本地,这就是工作的成就感,不亲自实践怎能体会到其中的乐趣呢?



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值