首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >16.04 syslog中的MariaDB ->错误(mysqlcheck)

16.04 syslog中的MariaDB ->错误(mysqlcheck)
EN

Ask Ubuntu用户
提问于 2016-05-15 14:31:04
回答 2查看 5.2K关注 0票数 3

我从零开始安装Ubuntu16.04和MariaDB后,在syslog中发现了以下故障,使用了这个非常棒的教程https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/

代码语言:javascript
复制
    May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Looking for 'mysql' as: /usr/bin/mysql
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Version check failed. Got the following error when calling the 'mysql' command line client
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: FATAL ERROR: Upgrade failed
May 14 12:00:13 fortuna /etc/mysql/debian-start[1487]: Checking for insecure root accounts.
May 14 12:00:13 fortuna mysql[1020]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我已经在.my.cnf目录中创建了一个/root。如果我以root用户的身份运行"mysql“,我可以不用密码登录。(见下文)

代码语言:javascript
复制
root@fortuna:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7071
Server version: 10.0.24-MariaDB-7 Ubuntu 16.04


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]>

但是,如果我尝试使用mysqlcheck检查,就会得到如下错误:

代码语言:javascript
复制
root@fortuna:~# /usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf --all-databases --fast --silent
/usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

如果我仔细看一下,就会发现有一个文件/etc/mysql/debian.cnf应该包含密码。但是里面没有列出密码。另一方面,我不应该在这里输入它,因为它说的是不要触摸!怎么办?

代码语言:javascript
复制
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = root
password = 
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = root
password = 
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr
EN

回答 2

Ask Ubuntu用户

发布于 2016-05-16 12:28:27

在我的情况下,当前最兼容的解决方案是在

代码语言:javascript
复制
 /etc/mysql/debian.cnf 

此外,我还提交了一份bug报告。https://bugs.launchpad.net/ubuntu/+source/mariadb-10.0/+bug/1582209

票数 3
EN

Ask Ubuntu用户

发布于 2016-05-15 17:25:39

尝试将该文本添加到您的my.cnf中,并将--缺省值-file=/etc/mysql/debian.cnf替换为-缺省值-file=~/.my.cnf包括您的密码。您的请求被拒绝,因为debian.cnf覆盖了客户端。如果.my.cnf看起来像:

代码语言:javascript
复制
[client]
user=mysqluser
password=mysqlpass
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/772785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档