mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
問(wèn):剛剛新安裝的MySQL,提示下面信息,無(wú)法登入,怎么回事?
[root@imysql mysql]# mysql mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
答:數(shù)據(jù)庫(kù)已經(jīng)執(zhí)行過(guò) mysql_install_db 初始化了,按理說(shuō)應(yīng)該沒(méi)問(wèn)題。經(jīng)過(guò)排查,發(fā)現(xiàn) $datadir 的 mysql 數(shù)據(jù)庫(kù)目錄的權(quán)限模式為:
drwx------ 2 mysql root 4096 Jan 9 20:22 mysql
看起來(lái)沒(méi)有問(wèn)題。檢查錯(cuò)誤日志,發(fā)現(xiàn)一行:
130109 21:04:23 [Warning] Bootstrap mode disables GTIDs. Bootstrap mode should only be used by mysql_install_db which initializes the MySQL data directory and creates system tables.
ERROR: 1785 Updates to non-transactional tables are forbidden when DISABLE_GTID_UNSAFE_STATEMENTS = 1.
130109 21:04:23 [ERROR] Aborting
同時(shí),mysql庫(kù)下的user表空間文件顯示:
-rw-rw---- 1 mysql mysql 10684 Jan 9 20:22 user.frm
-rw-rw---- 1 mysql mysql 0 Jan 9 20:22 user.MYD
-rw-rw---- 1 mysql mysql 1024 Jan 9 20:22 user.MYI
可以看到,user表空間數(shù)據(jù)文件大小為0。
看起來(lái)應(yīng)該是和啟用GTID模式有一定關(guān)系了。仔細(xì)檢查下,發(fā)現(xiàn)和GTID相關(guān)的選項(xiàng)有:
gtid_mode = ON
binlog_format = mixed
disable-gtid-unsafe-statements = 1
log-bin=binlog
這是因?yàn)樵趩⒂肎TID模式下,如果對(duì)非事務(wù)表更新時(shí),無(wú)法保證事務(wù)一致性,因此設(shè)置 disable-gtid-unsafe-statements = 1 確保主從數(shù)據(jù)一致性。
解決方案:
這時(shí)候可以將選項(xiàng) disable-gtid-unsafe-statements 的值修改為 0。也可以同時(shí)關(guān)閉 GTID 、 binlog 選項(xiàng),初始化完畢后再打開(kāi)。
#gtid_mode = ON
#log-bin=binlog
或
disable-gtid-unsafe-statements = 0
總結(jié)
以上是生活随笔為你收集整理的mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中的字段是_Java – 获取类
- 下一篇: python mysql ssh隧道_启