JN项目-将服务器上的mysql数据库转移到本地
2017-10-18 17:36
106 查看
背景介绍:因为连的是远程的数据库,我本地没有安装数据库,但是要改动数据库里面的配置文件,所以先要在本地数据库测试好
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数据库转移到本地,这就是工作的成就感,不亲自实践怎能体会到其中的乐趣呢?
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数据库转移到本地,这就是工作的成就感,不亲自实践怎能体会到其中的乐趣呢?
相关文章推荐
- xcode通过git-tf连接TFS,将本地项目成功上传到TFS服务器
- PHP项目转移到服务器上验证码不显示解决办法
- 36.开源项目--git搭建本地Git服务器
- 使用git下载项目,然后部署到本地和远程服务器上的流程
- ngrok实现本地项目外网访问(微信公众平台访问本地服务器)
- Vue-cli创建项目从单页面到多页面4 - 本地开发服务器设置代理
- git将本地项目与服务器上项目同步
- 使用极路由进行外网映射,本地电脑做服务器,运行javaWeb项目
- j2ee的web项目文件导出原理,为了分析原理,以导出txt文件文件为例,分两种情况:1导出txt文件到服务器本地上2导出txt文件到个浏览器端(即导出给浏览器用户)
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(二.配置MySQL数据库)
- SVN服务器搭建和使用和Mac下提交本地项目到git
- 用本地局域网中的电脑做web服务器,dns配置,花生壳,XAMPP 虚拟主机配置,实现多域名访问本地项目
- 『Github』本地项目更新到服务器
- 将本地mysql数据库表格导入到odps大数据计算服务项目中
- 分享一个小设置-项目启动时服务器指向本地IIS
- git 提交本地项目到服务器
- Excel上传到服务器上之后存入数据库(本地练习项目)
- 本地tp项目上传服务器报runtime/cache错误
- java项目部署到服务器上,本地可以访问,外网访问不了
- 本地运行项目支持nvarchar类型,上传到weblogic,打开服务器,点开页面就报错