Таблица "performance_schema.session_variables" не существует

I m new при использовании базы данных MySql, я загрузил EasyPHP-Devserver-16.1, когда я запускаю свой сервер для обновления моей схемы базы данных, появляется это сообщение об ошибке.

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Таблица 'performance_schema.session_variables' не существует

Я знаю, что проблема не в моем конфигурационном файле spring, а на сервере mysql.

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 не имеет проблем с этим

Ответ 1

решаемые... Затем я открыл cmd:

cd [installation_path]\eds-binaries\dbserver\mysql5711x86x160420141510\bin

затем выполните эту командную строку:

mysql_upgrade -u root -p --force

Требуется перезагрузка сервера!

Ответ 2

  • Сначала обновите сервер MySql, чтобы решить проблему, выполнив следующую команду:

    mysql_upgrade -u root -p --force

  • Затем перезапустите сервер:

Ответ 3

Схема производительности по умолчанию не установлена.
Для проверки вы можете запустить команду

SHOW VARIABLES LIKE 'performance_schema';

Предположим, теперь вы увидите OFF

Чтобы включить его, запустите сервер с включенной переменной performance_schema. Например, используйте эти строки в файле my.cnf:

[mysqld]
performance_schema=ON

Более подробную информацию вы можете найти в официальной документации:

https://dev.mysql.com/doc/refman/en/performance-schema-quick-start.html

Ответ 4

Вот как это исправить (из командной строки):

mysql -u {user} -p
mysql> set @@global.show_compatibility_56=ON;

В/etc/my.cnf:

show_compatibility_56 = 1

этот действительно работает для меня без обновления mysql. После этого вам нужно перезапустить mysql.

Ответ 5

Поскольку некоторые люди спрашивали о части перезапуска сервера, я отправлю свой ответ с учетом этой части:

1. Перейдите в каталог установочной папки MySQL в моем случае: C:\Program Files\MySQL\MySQL Server 5.7\bin.

  1. Откройте CMD в этом каталоге, затем запустите команду "mysql_upgrade -u root -p".

  2. Если ваша схема была защищена паролем, вы должны ввести пароль, когда он будет запрошен.

  3. Это сделает проверку всех таблиц всей схемы, поэтому вы должны дождаться завершения проверки.

  4. В конце должно появиться следующее сообщение:

Upgrade process completed successfully.

Checking if update is needed.
  1. Перезапустите сервер MySQL и службы маршрутизатора:
open task manager-->services-->right click on the services MySQL 
server and MySQL router-->restart them.
  1. Подключитесь к своему серверу с помощью своего инструментария, он должен подключиться.