首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表'performance_schema.session_variables‘不存在

表'performance_schema.session_variables‘不存在
EN

Stack Overflow用户
提问于 2016-04-20 14:17:39
回答 4查看 37.4K关注 0票数 10

我刚开始使用MySql数据库,我已经下载了EasyPHP-Devserver-16.1,当我运行我的服务器来更新我的数据库模式时,会显示这个错误消息。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表'performance_schema.session_variables‘不存在

我知道问题不是在我的spring配置文件中,而是在mysql服务器中。

代码语言:javascript
复制
public class Configurations {

    protected static final String PROPERTY_NAME_DATABASE_DRIVER = "com.mysql.jdbc.Driver";
    protected static final String PROPERTY_NAME_DATABASE_PASSWORD = "";
    protected static final String PROPERTY_NAME_DATABASE_URL = "jdbc:mysql://127.0.0.1:3306/quraa";
    protected static final String PROPERTY_NAME_DATABASE_USERNAME = "root";

    private static final String PROPERTY_PACKAGES_TO_SCAN = "com.med.quraa.models";
    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter){
        LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(dataSource);
        entityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter);
        entityManagerFactoryBean.setPackagesToScan(PROPERTY_PACKAGES_TO_SCAN);
        return entityManagerFactoryBean;
    }

    @Bean
    public DriverManagerDataSource dataSource(){
        DriverManagerDataSource ds = new DriverManagerDataSource();
        ds.setDriverClassName(PROPERTY_NAME_DATABASE_DRIVER);
        ds.setUrl(PROPERTY_NAME_DATABASE_URL);
        ds.setUsername(PROPERTY_NAME_DATABASE_USERNAME);
        ds.setPassword(PROPERTY_NAME_DATABASE_PASSWORD);
        return ds;
    }

    @Bean
    public JdbcTemplate jdbcTemplate(){
        JdbcTemplate jdbcTemplate=new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource());
        return jdbcTemplate;
    }

    @Bean
    public JpaVendorAdapter jpaVendorAdapter(){
        HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
        adapter.setDatabase(Database.MYSQL);
        adapter.setShowSql(true);
        adapter.setGenerateDdl(true);
        adapter.setDatabasePlatform("org.hibernate.dialect.MySQL5InnoDBDialect");
        return adapter;
    }

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }

}

请注意,我也测试了org.apache.tomcat.dbcp.dbcp.BasicDataSource,但我也有相同的错误,这意味着org.springframework.jdbc.datasource.DriverManagerDataSource对此没有问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-20 15:41:21

解决了..。于是我打开了cmd:

代码语言:javascript
复制
cd [installation_path]\eds-binaries\dbserver\mysql5711x86x160420141510\bin

然后执行以下命令行:

代码语言:javascript
复制
mysql_upgrade -u root -p --force

需要重新启动服务器!

票数 14
EN

Stack Overflow用户

发布于 2016-04-20 15:12:27

  1. 首先,通过运行以下命令升级MySql服务器以解决此问题: mysql_upgrade -u root -p --force
  2. 然后重新启动服务器
票数 43
EN

Stack Overflow用户

发布于 2018-01-03 06:06:38

下面是如何修复它(从命令行):

代码语言:javascript
复制
mysql -u {user} -p
mysql> set @@global.show_compatibility_56=ON;

在/etc/my.cnf中:

代码语言:javascript
复制
show_compatibility_56 = 1

这个很适合我,而不需要升级mysql。在此之后,您需要重新启动mysql。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36746677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档