2016-04-20 9 views
5

Ich bin neu bei der Verwendung von MySql Datenbank, ich habe EasyPHP-DevServer-16.1 heruntergeladen, wenn ich meinen Server zur Aktualisierung meiner Datenbank-Schema diese Fehlermeldung zeigt sich zeigt.Tabelle 'performance_schema.session_variables' existiert nicht

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Tabelle 'performance_schema.session_variables' existiert nicht

Ich weiß, dass das Problem nicht in meiner Feder Konfigurationsdatei ist aber in 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); 
    } 

} 

Bitte beachte, dass ich org.apache.tomcat.dbcp.dbcp.BasicDataSource auch getestet haben, aber ich hatte den gleichen Fehler, das bedeutet, dass org.springframework.jdbc.datasource.DriverManagerDataSource haben kein Problem mit diesem

+0

versuchen, diesen Befehl mit root-Benutzer ausführen: mysql_upgrade -u root -p --force und starten Sie den mysql-Server neu –

Antwort

6

Gelöst ... Ich öffnete cmd dann:

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

dann diese Befehlszeile ausgeführt:

mysql_upgrade -u root -p --force 

Ein Server neu starten wird gebraucht!

+0

es ist das gleiche wie meine Antwort –

+0

fügen Sie dies in Frage und schließen Sie es –

+1

Nicht sicher, warum dies abgelehnt wird, ist die Antwort ähnlich, aber diese ist klarer –

3

Performance-Schema nicht standardmäßig installiert ist.
Zur Kontrolle können Sie den Befehl

SHOW VARIABLES LIKE 'performance_schema'; 

Angenommen laufen, sehen OFF Sie jetzt

es zu ermöglichen, den Server mit der performance_schema Variable aktiviert starten. Verwenden Sie zum Beispiel diese Zeilen in Ihrer Datei my.cnf:

[mysqld] 
performance_schema=ON 

Mehr Details erfahren Sie in der offiziellen Dokumentation können:

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

+0

Vielen Dank für Sie gelten, aber wenn ich ** SHOW VARIABLES LIKE 'performance_schema'; ** I habe eine Fehlermeldung: Tabelle 'performance_schema.session_variables 'existiert nicht .. ich meine conf-Datei, die ich hinzugefügt habe: performance_schema = on ... und funktioniert immer noch nicht –

+0

hast du einen mysql-service neu gestartet? –

+0

ja ich tat .. und immer noch nicht funktioniert –

33
  1. Zuerst aktualisieren Sie Ihren MySql Server um das Problem zu lösen durch Ausführen dieses Befehls:

    mysql_upgrade -u root -p --force

  2. Dann Neustart der Server:

+2

Ich möchte den 'Neustart des Servers' Teil empaiize. – bram

1

Hier ist, wie es zu beheben (von der Kommandozeile):

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

In /etc/my.cnf:

show_compatibility_56 = 1 

diese funktioniert wirklich für mich ohne Upgrade von MySQL. Danach müssen Sie mysql neu starten.