#mysql
#mysql #весна #mysql-ошибка-1064
Вопрос:
Я новичок в использовании базы данных 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. попробуйте запустить эту команду с помощью пользователя root:
mysql_upgrade -u root -p --force
а затем перезапустите сервер mysql
Ответ №1:
-
Сначала обновите свой
MySql
сервер, чтобы решить проблему, выполнив эту команду:mysql_upgrade -u root -p --force
-
Затем перезапустите сервер:
Комментарии:
1. Я хочу подчеркнуть часть «перезапустить сервер».
Ответ №2:
Решена… Затем я открыл cmd :
cd [installation_path]eds-binariesdbservermysql5711x86x160420141510bin
затем выполнил эту командную строку :
mysql_upgrade -u root -p --force
Требуется перезапуск сервера!
Комментарии:
1. это то же самое, что и мой ответ
2. добавьте это в вопрос и закройте его
3. Не уверен, почему это отклонено, ответ похож, но этот более понятен
Ответ №3:
Вот как это исправить (из командной строки):
mysql -u {user} -p
mysql> set @@global.show_compatibility_56=ON;
В /etc/my.cnf:
show_compatibility_56 = 1
у меня это действительно работает без обновления mysql. После этого вам нужно перезапустить mysql.
Ответ №4:
Схема производительности не установлена по умолчанию.
Для проверки вы можете запустить команду
SHOW VARIABLES LIKE 'performance_schema';
Предположим, теперь вы увидите
Чтобы включить ее, запустите сервер с включенной переменной performance_schema. Например, используйте эти строки в вашем файле my.cnf:
[mysqld]
performance_schema=ON
Более подробную информацию вы можете найти в официальной документации:
https://dev.mysql.com/doc/refman/en/performance-schema-quick-start.html
Комментарии:
1. Спасибо, что вы подали заявку, но когда я запускаю ОТОБРАЖЕНИЕ ПЕРЕМЕННЫХ ТИПА ‘performance_schema’; У меня появляется сообщение об ошибке: таблица ‘performance_schema.session_variables’ не существует .. я добавил свой conf-файл: performance_schema = включено… и все еще не работает
2. вы перезапустили службу mysql?
3. это часть ответа .. вы будете голосовать «за»
Ответ №5:
Поскольку некоторые люди спрашивали о части перезапуска сервера, я опубликую свой ответ с учетом этой части:
1 . Перейдите в каталог установочной папки MySQL, в моем случае это было: C:Program Файлы MySQL MySQL Server 5.7bin.
-
Откройте CMD в этом каталоге, затем выполните команду «mysql_upgrade -u root -p».
-
Если ваша схема была защищена паролем, вы должны ввести пароль при запросе.
-
Это приведет к проверке всех таблиц всей схемы, поэтому вам следует дождаться завершения проверки.
-
В конце должно появиться следующее сообщение:
Upgrade process completed successfully. Checking if update is needed.
- Перезапустите службы сервера MySQL и маршрутизатора:
open task manager-->services-->right click on the services MySQL server and MySQL router-->restart them.
- Подключитесь к своему серверу с помощью вашего workbench, он должен подключиться.