数据库从RDS迁入自己服务器上问题记录
2017-05-06 20:27
351 查看
背景: 原来数据库是存放在阿里的rds数据库上的,现在要迁入自己服务器上的数据库上
,使用navicat的数据传输,把整个数据库全部传输到自己数据库服务器上,包括自定义的函数
出现的问题:
1 app上的数据有的显示正常,有的不能显示,比较诡异.
排除:
原来rds数据库上连接时使用的用户名称是dev_x1,所以自定义函数是这样的,导入到新的服务器
上的数据库使用root账号连接的.
原来的自定义函数脚本:
在新的数据库上没有dev_x1这个用户,所以调用此自定义函数一直出错,把DEFINER=
DEFINER=
2 还有一部分app上的接口数据不能显示
接口返回说dynamicComment表不存在,在原来数据上执行
select * from dynamicComment 正常,在新的数据库上执行,
数据库直接提示表不存在,噢,知道原因了,新的数据库默认表名称是区别大小写的
修改忽略大小写:
http://blog.csdn.net/wocjj/article/details/7415200
3 有发现新的问题,在app客户端上发布的文章显示乱码,赶紧在服务器上查看数据库的字符:
mysql> show variables like ‘character%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set
连接上Mysql后,修改my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
,使用navicat的数据传输,把整个数据库全部传输到自己数据库服务器上,包括自定义的函数
出现的问题:
1 app上的数据有的显示正常,有的不能显示,比较诡异.
排除:
原来rds数据库上连接时使用的用户名称是dev_x1,所以自定义函数是这样的,导入到新的服务器
上的数据库使用root账号连接的.
原来的自定义函数脚本:
CREATE DEFINER=`dev_x1`@`%` FUNCTION `getLikeNum`(`did` int) RETURNS int(11) BEGIN DECLARE reScore INT; select count(*) into reScore from dynamiclike where dynamicid=did; RETURN reScore; END
在新的数据库上没有dev_x1这个用户,所以调用此自定义函数一直出错,把DEFINER=
dev_x1@
%改为
DEFINER=
root@
%后正常
2 还有一部分app上的接口数据不能显示
接口返回说dynamicComment表不存在,在原来数据上执行
select * from dynamicComment 正常,在新的数据库上执行,
数据库直接提示表不存在,噢,知道原因了,新的数据库默认表名称是区别大小写的
修改忽略大小写:
http://blog.csdn.net/wocjj/article/details/7415200
3 有发现新的问题,在app客户端上发布的文章显示乱码,赶紧在服务器上查看数据库的字符:
mysql> show variables like ‘character%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set
连接上Mysql后,修改my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
相关文章推荐
- 某云RDS数据库本地恢复--服务器重启数据库打开丢失问题--亲验
- Toad for Mysql 连接远程服务器的数据库问题记录
- GIT 服务器自己搭建问题记录
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- 迁入Cnblogs.com 保佑自己能更努力的记录学习历程。。
- 通过自己的IP或localhost却不访问到本地服务器(同时装有SQL2000与SQL2005服务器一般出现的问题)
- 闲着没事从别的服务器上备份过的数据库文件出现的问题
- 有两个数据据服务器上有两个一样结构的数据库,现想将一服务器上的一数据库里的一个表的一部份记录插入到另一服务器上的一数据库的一表中.
- 在不同SQL服务器上的数据库之间表记录的复制(sql语句实现)
- ent lib 3.1 的日志应用程序块(Logging Application Block)记录到数据库的问题
- .NET服务器登录数据库失败的问题
- linux下web服务器与数据库服务器的分离问题。
- 解决数据库中记录重复问题
- 关于resin服务器下开发jpa+struts2.0+spring+hibernate+dwr的数据库表的ORM配置问题
- 在不同SQL服务器上的数据库之间表记录的复制(sql语句实现)
- 同步复制数据库,当网络问题,服务器间断开连接,复制中断后,自动继续复制的设置
- 今天在使用C#的ASP.NET给Access的数据库中添加新记录发现的问题
- 水晶报表学习记录之二(数据库登陆问题)
- 数据库限制返回的记录数问题
- linux下web服务器与数据库服务器的分离问题。