unknown variable 'authentication_policy=mysql_native_password'
- 背景
- 解决
- 尝试一
- 尝试二(解决)
- 总结
背景
mac上安装多个版本数据库。我是通过dmg
安装的,先装的5.7
,再装的5.8
,然后5.8
的能正常用,5.7
的启动不起来。报错信息为如下
2023-12-27T11:50:43.479739Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-12-27T11:50:43.479980Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2023-12-27T11:50:43.480218Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.12) starting as process 90928 ...
2023-12-27T11:50:43.481832Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2023-12-27T11:50:43.483414Z 0 [Warning] You need to use --log-bin to make --binlog-format work.
2023-12-27T11:50:43.486307Z 0 [ERROR] Plugin keyring_file reported: 'keyring_file initialization failure. Please check if the keyring_file_data points to readable keyring file or keyring file can be created in the specified location. The keyring_file will stay unusable until correct path to the keyring file gets provided'
2023-12-27T11:50:43.486907Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2023-12-27T11:50:43.486915Z 0 [Note] InnoDB: Uses event mutexes
2023-12-27T11:50:43.486919Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2023-12-27T11:50:43.486923Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2023-12-27T11:50:43.487938Z 0 [Note] InnoDB: Number of pools: 1
2023-12-27T11:50:43.487999Z 0 [Note] InnoDB: Using CPU crc32 instructions
2023-12-27T11:50:43.662577Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2023-12-27T11:50:43.667975Z 0 [Note] InnoDB: Completed initialization of buffer pool
2023-12-27T11:50:43.682914Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2023-12-27T11:50:43.688889Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2023-12-27T11:50:43.689059Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2023-12-27T11:50:43.692481Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2023-12-27T11:50:43.692851Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2023-12-27T11:50:43.692857Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2023-12-27T11:50:43.693045Z 0 [Note] InnoDB: Waiting for purge to start
2023-12-27T11:50:43.748088Z 0 [Note] InnoDB: 5.7.12 started; log sequence number 2527696
2023-12-27T11:50:43.748195Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/mysql-5.7/data/ib_buffer_pool
2023-12-27T11:50:43.748427Z 0 [Note] Plugin 'FEDERATED' is disabled.
2023-12-27T11:50:43.748994Z 0 [Note] InnoDB: Buffer pool(s) load completed at 231227 19:50:43
2023-12-27T11:50:43.749371Z 0 [ERROR] unknown variable 'authentication_policy=mysql_native_password'
2023-12-27T11:50:43.749381Z 0 [ERROR] Aborting2023-12-27T11:50:43.749392Z 0 [Note] Binlog end
2023-12-27T11:50:43.749429Z 0 [Note] Shutting down plugin 'ngram'
2023-12-27T11:50:43.749437Z 0 [Note] Shutting down plugin 'partition'
2023-12-27T11:50:43.749443Z 0 [Note] Shutting down plugin 'BLACKHOLE'
2023-12-27T11:50:43.749449Z 0 [Note] Shutting down plugin 'ARCHIVE'
2023-12-27T11:50:43.749454Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2023-12-27T11:50:43.749481Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
2023-12-27T11:50:43.749488Z 0 [Note] Shutting down plugin 'MyISAM'
2023-12-27T11:50:43.749499Z 0 [Note] Shutting down plugin 'INNODB_SYS_VIRTUAL'
2023-12-27T11:50:43.749505Z 0 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2023-12-27T11:50:43.749510Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2023-12-27T11:50:43.749515Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2023-12-27T11:50:43.749519Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2023-12-27T11:50:43.749524Z 0 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2023-12-27T11:50:43.749529Z 0 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2023-12-27T11:50:43.749533Z 0 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2023-12-27T11:50:43.749538Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2023-12-27T11:50:43.749544Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2023-12-27T11:50:43.749548Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2023-12-27T11:50:43.749554Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2023-12-27T11:50:43.749559Z 0 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2023-12-27T11:50:43.749565Z 0 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2023-12-27T11:50:43.749571Z 0 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2023-12-27T11:50:43.749577Z 0 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2023-12-27T11:50:43.749581Z 0 [Note] Shutting down plugin 'INNODB_METRICS'
2023-12-27T11:50:43.749585Z 0 [Note] Shutting down plugin 'INNODB_TEMP_TABLE_INFO'
2023-12-27T11:50:43.749589Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2023-12-27T11:50:43.749592Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2023-12-27T11:50:43.749596Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2023-12-27T11:50:43.749599Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2023-12-27T11:50:43.749603Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2023-12-27T11:50:43.749607Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2023-12-27T11:50:43.749610Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
2023-12-27T11:50:43.749614Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2023-12-27T11:50:43.749617Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2023-12-27T11:50:43.749621Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2023-12-27T11:50:43.749625Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2023-12-27T11:50:43.749628Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2023-12-27T11:50:43.749632Z 0 [Note] Shutting down plugin 'InnoDB'
2023-12-27T11:50:43.749719Z 0 [Note] InnoDB: FTS optimize thread exiting.
2023-12-27T11:50:43.749747Z 0 [Note] InnoDB: Starting shutdown...
2023-12-27T11:50:43.855004Z 0 [Note] InnoDB: Dumping buffer pool(s) to /usr/local/mysql-5.7/data/ib_buffer_pool
2023-12-27T11:50:43.856040Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 231227 19:50:43
2023-12-27T11:50:45.229428Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2527715
2023-12-27T11:50:45.230046Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2023-12-27T11:50:45.230082Z 0 [Note] Shutting down plugin 'MEMORY'
2023-12-27T11:50:45.230103Z 0 [Note] Shutting down plugin 'CSV'
2023-12-27T11:50:45.230116Z 0 [Note] Shutting down plugin 'sha256_password'
2023-12-27T11:50:45.230127Z 0 [Note] Shutting down plugin 'mysql_native_password'
2023-12-27T11:50:45.230136Z 0 [Note] Shutting down plugin 'keyring_file'
2023-12-27T11:50:45.233646Z 0 [Note] Shutting down plugin 'binlog'
2023-12-27T11:50:45.233996Z 0 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
解决
报错信息主要有两个:
keyring_file
authentication_policy=mysql_native_password
第一个感觉不是很关键,因为报错了程序还是继续往下在走。第二个的话,查了一下说是配置错误,这个配置是8.0
的,5.7
的识别不了。
尝试一
既然识别不了,把配置改了不就行了。但是又有一个问题,用的是默认配置,只能新建配置进行覆写。
这里可以看到,也有
keyring
的路径,这次我没处理它,但是在对应路径下创建了文件。然后手动创建了启动配置,然后设置了对应的目录,这里注意需要apply
一下。
但是呢,再次重启还是失败,
keyring
的问题没有修复,指定的配置文件也没有生效。。服务一直处于运行中 》 暂停 》运行中的死循环。突发奇想,ps
了一下,发现有惊喜。。。
理解没啥问题,配置实际也读取到了,但是最后它又加了奇奇怪怪的一些配置,然后其中就有导致我们出错的命令
authentication_policy=mysql_native_password
。那么,问题来了,这东西是哪里来的呢?
尝试二(解决)
查了一些资料,说是一般在
/Library/LaunchDaemons
目录下,我进去看了一眼,过滤了一下,发现的确有它。
看了一下文件内容,找到了!
后面就是把那一行注了,然后把之前指定的配置文件和
keyring
配置关了
再次尝试重启,启动成功了!
2023-12-27T11:56:09.333257Z 0 [ERROR] kevent failed with errno= 9,exiting timer notifier thread.
2023-12-27T11:56:09.610993Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-12-27T11:56:09.611244Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2023-12-27T11:56:09.611509Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.12) starting as process 92465 ...
2023-12-27T11:56:09.613531Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2023-12-27T11:56:09.615096Z 0 [Warning] You need to use --log-bin to make --binlog-format work.
2023-12-27T11:56:09.616205Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2023-12-27T11:56:09.616218Z 0 [Note] InnoDB: Uses event mutexes
2023-12-27T11:56:09.616223Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2023-12-27T11:56:09.616227Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2023-12-27T11:56:09.617303Z 0 [Note] InnoDB: Number of pools: 1
2023-12-27T11:56:09.617372Z 0 [Note] InnoDB: Using CPU crc32 instructions
2023-12-27T11:56:09.809280Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2023-12-27T11:56:09.815378Z 0 [Note] InnoDB: Completed initialization of buffer pool
2023-12-27T11:56:09.830516Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2023-12-27T11:56:09.837315Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2023-12-27T11:56:09.837470Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2023-12-27T11:56:09.841482Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2023-12-27T11:56:09.841870Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2023-12-27T11:56:09.841876Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2023-12-27T11:56:09.842056Z 0 [Note] InnoDB: Waiting for purge to start
2023-12-27T11:56:09.897098Z 0 [Note] InnoDB: 5.7.12 started; log sequence number 2528355
2023-12-27T11:56:09.897213Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/mysql-5.7/data/ib_buffer_pool
2023-12-27T11:56:09.897499Z 0 [Note] Plugin 'FEDERATED' is disabled.
2023-12-27T11:56:09.897755Z 0 [Note] InnoDB: Buffer pool(s) load completed at 231227 19:56:09
2023-12-27T11:56:09.902571Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2023-12-27T11:56:09.902581Z 0 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
2023-12-27T11:56:09.902757Z 0 [Note] - '127.0.0.1' resolves to '127.0.0.1';
2023-12-27T11:56:09.902809Z 0 [Note] Server socket created on IP: '127.0.0.1'.
2023-12-27T11:56:09.934502Z 0 [Note] Event Scheduler: Loaded 0 events
2023-12-27T11:56:09.934584Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.12' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
总结
碰到问题还是看看日志吧,一般都会记录原因。一开始我先是以为版本问题,换了一个
5.7
的版本,试了一下没用。然后百度、google查资料,也没找到线索。。最后还是得自己分析。。。