Ответ 1
решаемые... Затем я открыл cmd:
cd [installation_path]\eds-binaries\dbserver\mysql5711x86x160420141510\bin
затем выполните эту командную строку:
mysql_upgrade -u root -p --force
Требуется перезагрузка сервера!
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
не имеет проблем с этим
решаемые... Затем я открыл cmd:
cd [installation_path]\eds-binaries\dbserver\mysql5711x86x160420141510\bin
затем выполните эту командную строку:
mysql_upgrade -u root -p --force
Требуется перезагрузка сервера!
Сначала обновите сервер MySql
, чтобы решить проблему, выполнив следующую команду:
mysql_upgrade -u root -p --force
Затем перезапустите сервер:
Схема производительности по умолчанию не установлена.
Для проверки вы можете запустить команду
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
Вот как это исправить (из командной строки):
mysql -u {user} -p
mysql> set @@global.show_compatibility_56=ON;
В/etc/my.cnf:
show_compatibility_56 = 1
этот действительно работает для меня без обновления mysql. После этого вам нужно перезапустить mysql.
Поскольку некоторые люди спрашивали о части перезапуска сервера, я отправлю свой ответ с учетом этой части:
1. Перейдите в каталог установочной папки MySQL в моем случае: C:\Program Files\MySQL\MySQL Server 5.7\bin.
Откройте CMD в этом каталоге, затем запустите команду "mysql_upgrade -u root -p".
Если ваша схема была защищена паролем, вы должны ввести пароль, когда он будет запрошен.
Это сделает проверку всех таблиц всей схемы, поэтому вы должны дождаться завершения проверки.
В конце должно появиться следующее сообщение:
Upgrade process completed successfully. Checking if update is needed.
open task manager-->services-->right click on the services MySQL server and MySQL router-->restart them.