Tableau de performances de schéma.les variables de session' n'existent pas

je suis nouveau dans l'utilisation de base de données MySql, j'ai téléchargé EasyPHP-Devserver-16.1, quand je lance mon serveur pour mettre à jour ma base de données schéma de ce message d'erreur s'affiche.

com.mysql.jdbc.exception.jdbc4.MySQLSyntaxErrorException: Table "performance_schema.session_variables ' n'existe pas

je sais que le problème n'est pas dans mon fichier de configuration de printemps mais dans mysql server.

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);
    }

}

notez que j'ai testé org.apache.tomcat.dbcp.dbcp.BasicDataSource aussi mais j'ai eu la même erreur, ce qui signifie que org.springframework.jdbc.datasource.DriverManagerDataSource n'ont pas de problème avec cela

7
demandé sur Yuki Inoue 2016-04-20 17:17:39

5 réponses

  1. première mise à niveau de votre serveur MySql pour résoudre le problème en exécutant cette commande:

    mysql_upgrade -u root -p --force

  2. puis redémarrer le serveur:

38
répondu Rafik BELDI 2017-02-23 09:05:06

résolu... J'ai ouvert cmd puis:

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

a ensuite exécuté cette ligne de commande :

mysql_upgrade -u root -p --force

un redémarrage du serveur est nécessaire!

9
répondu Mohamed Nabli 2018-02-16 15:15:42

Performance schéma n'est pas installé par défaut.

Pour vérifier, vous pouvez exécuter la commande

SHOW VARIABLES LIKE 'performance_schema';

supposez, maintenant vous verrez OFF

pour l'activer, démarrez le serveur avec la variable performance_schema activée. Par exemple, utilisez ces lignes dans votre my.fichier cnf:

[mysqld]
performance_schema=ON

plus de détails vous pouvez trouver dans la documentation officielle:

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

3
répondu Pavel Zimogorov 2016-04-20 18:41:39

Voici comment résoudre ce problème (à partir de la ligne de commande):

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

Dans /etc/my.cnf:

show_compatibility_56 = 1

celui-ci fonctionne vraiment pour moi sans mise à niveau mysql. Après cela, vous devez redémarrer mysql.

2
répondu Md. Kawsaruzzaman 2018-01-03 06:06:38

comme certaines personnes ont demandé à propos de la partie du redémarrage du serveur, je vais poster ma réponse considérant cette partie:

1 .Allez dans le répertoire du dossier D'installation MySQL dans mon cas c'était: C:\Program fichiers\MySQL \ MySQL Server 5.7\bin.

  1. ouvrez CMD dans ce répertoire, puis lancez la commande" mysql_upgrade-u root-p".

  2. si votre schéma était protégé par un mot de passe, vous doit entrer le mot de passe quand il est requis.

  3. ceci fera la vérification de toutes les tables de tous les schémas, donc vous devriez attendre jusqu'à ce que la vérification soit terminée.

  4. à la fin, le message suivant doit apparaître:

Upgrade process completed successfully.

Checking if update is needed.
  1. redémarrer le serveur MySQL et les services de routeur:
open task manager-->services-->right click on the services MySQL 
server and MySQL router-->restart them.
  1. connectez-vous à votre serveur en utilisant votre établi, il doit se connecter.
0
répondu Ahmed 2018-08-10 19:05:05