我从零开始安装Ubuntu16.04和MariaDB后,在syslog中发现了以下故障,使用了这个非常棒的教程https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/
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“,我可以不用密码登录。(见下文)
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检查,就会得到如下错误:
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应该包含密码。但是里面没有列出密码。另一方面,我不应该在这里输入它,因为它说的是不要触摸!怎么办?
# 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发布于 2016-05-16 12:28:27
在我的情况下,当前最兼容的解决方案是在
/etc/mysql/debian.cnf 此外,我还提交了一份bug报告。https://bugs.launchpad.net/ubuntu/+source/mariadb-10.0/+bug/1582209
发布于 2016-05-15 17:25:39
尝试将该文本添加到您的my.cnf中,并将--缺省值-file=/etc/mysql/debian.cnf替换为-缺省值-file=~/.my.cnf包括您的密码。您的请求被拒绝,因为debian.cnf覆盖了客户端。如果.my.cnf看起来像:
[client]
user=mysqluser
password=mysqlpasshttps://askubuntu.com/questions/772785
复制相似问题