-
Notifications
You must be signed in to change notification settings - Fork 942
Description
1.报错信息:
mysql的sql脚本不全,缺少表nacos_devtest.config_info_aggr。
2025-01-22T05:25:50.122957Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.31) MySQL Community Server - GPL. mysql | 2025-01-22 05:25:50+00:00 [Note] [Entrypoint]: Temporary server stopped mysql | mysql | 2025-01-22 05:25:50+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up. mysql | mysql | 2025-01-22T05:25:50.489353Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. mysql | 2025-01-22T05:25:50.504839Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 1 mysql | 2025-01-22T05:25:50.509148Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive mysql | 2025-01-22T05:25:50.535867Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.nacos-standalone-mysql | 2025-01-22 13:25:50,790 INFO Tomcat initialized with port(s): 8848 (http) nacos-standalone-mysql | nacos-standalone-mysql | 2025-01-22 13:25:50,884 INFO Root WebApplicationContext: initialization completed in 2640 ms nacos-standalone-mysql | mysql | 2025-01-22T05:25:51.255584Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. mysql | 2025-01-22T05:25:51.805639Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. mysql | 2025-01-22T05:25:51.805940Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. mysql | 2025-01-22T05:25:51.824522Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. mysql | 2025-01-22T05:25:51.883859Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock mysql | 2025-01-22T05:25:51.884236Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. nacos-standalone-mysql | 2025-01-22 13:25:55,421 WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.3.0.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure : nacos-standalone-mysql | org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT DISTINCT data_id, group_id, tenant_id FROM config_info_aggr]; nested exception is java.sql.SQLSyntaxErrorException: Table 'nacos_devtest.config_info_aggr' doesn't exist nacos-standalone-mysql | nacos-standalone-mysql | 2025-01-22 13:25:55,448 INFO Nacos Log files: /home/nacos/logs nacos-standalone-mysql | nacos-standalone-mysql | 2025-01-22 13:25:55,449 INFO Nacos Log files: /home/nacos/conf nacos-standalone-mysql | nacos-standalone-mysql | 2025-01-22 13:25:55,449 INFO Nacos Log files: /home/nacos/data nacos-standalone-mysql | nacos-standalone-mysql | 2025-01-22 13:25:55,450 ERROR Startup errors : nacos-standalone-mysql | nacos-standalone-mysql | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.3.0.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure : nacos-standalone-mysql | org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT DISTINCT data_id, group_id, tenant_id FROM config_info_aggr]; nested exception is java.sql.SQLSyntaxErrorException: Table 'nacos_devtest.config_info_aggr' doesn't exist nacos-standalone-mysql | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) nacos-standalone-mysql | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) nacos-standalone-mysql | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) nacos-standalone-mysql | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) nacos-standalone-mysql | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) nacos-standalone-mysql | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) nacos-standalone-mysql | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) nacos-standalone-mysql | at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) nacos-standalone-mysql | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) nacos-standalone-mysql | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)nacos-standalone-mysql | at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) nacos-standalone-mysql | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) nacos-standalone-mysql | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) nacos-standalone-mysql | at com.alibaba.nacos.Nacos.main(Nacos.java:48) nacos-standalone-mysql | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) nacos-standalone-mysql | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) nacos-standalone-mysql | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)nacos-standalone-mysql | at java.lang.reflect.Method.invoke(Method.java:498) nacos-standalone-mysql | at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) nacos-standalone-mysql | at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) nacos-standalone-mysql | at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) nacos-standalone-mysql | at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467) nacos-standalone-mysql | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure : nacos-standalone-mysql | org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT DISTINCT data_id, group_id, tenant_id FROM config_info_aggr]; nested exception is java.sql.SQLSyntaxErrorException: Table 'nacos_devtest.config_info_aggr' doesn't exist nacos-standalone-mysql | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:662) nacos-standalon
2.解决
更新Dockerfile文件,替换符合版本的sql脚本。
nacos-docker-2.3.0\example\image\mysql\8\Dockerfile
FROM mysql:8.0.31 ADD https://github.com/alibaba/nacos/blob/2.3.0/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql EXPOSE 3306 CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]