zoukankan      html  css  js  c++  java
  • 数据库从RDS迁入自己服务器上问题记录

    背景: 原来数据库是存放在阿里的rds数据库上的,现在要迁入自己服务器上的数据库上
    ,使用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’

  • 相关阅读:
    SQLMAP注入教程-11种常见SQLMAP使用方法详解
    VS2012/2013/2015/Visual Studio 2017 关闭单击文件进行预览的功能
    解决 IIS 反向代理ARR URLREWRITE 设置后,不能跨域跳转 return Redirect 问题
    Spring Data JPA one to one 共享主键关联
    JHipster 问题集中
    Spring Data JPA 定义超类
    Spring Data JPA查询关联数据
    maven命名
    maven仓库
    Jackson读取列表
  • 原文地址:https://www.cnblogs.com/luleiitlife/p/8545000.html
Copyright © 2011-2022 走看看