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
5 réponses
-
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
-
puis redémarrer le serveur:
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!
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
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.
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.
-
ouvrez CMD dans ce répertoire, puis lancez la commande" mysql_upgrade-u root-p".
-
si votre schéma était protégé par un mot de passe, vous doit entrer le mot de passe quand il est requis.
-
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.
-
à la fin, le message suivant doit apparaître:
Upgrade process completed successfully. Checking if update is needed.
- 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.
- connectez-vous à votre serveur en utilisant votre établi, il doit se connecter.