我在Ubuntu 16.04 LTS上。我的mysql根密码是什么?如果我进去
mysql -u root -p它要求我输入一个密码:我不知道,也没有密码不起作用。Mysql是预先安装的,所以我没有选择任何根密码.如果我再次安装它,用
sudo apt-get install mysql-server它说mysql-server已经是最新版本(5.7.18-0ubuntu0.16.04.1)
有什么帮助吗暗示?谢谢。
发布于 2017-07-01 17:19:32
有两种选择:
首先是清除mysql(除非您还没有数据库):
使用
apt-get purge mysql-server清洗,然后
apt-get install mysql-server简单地重新安装它。在安装时,应该向您询问密码。这是最简单和最快的方法,但是如果一些程序(如phpmyadmin )已经连接到现有的MySQL,那么它可能会出现问题,所以我建议您使用
或执行以下操作:停止使用MySQL服务器
sudo service mysql stop 然后,启动安全模式
sudo /usr/bin/mysqld_safe --skip-grant-tables & 选择localhost作为主机(在最后一个命令之后不会有命令提示符,所以在下一个命令中输入消息Starting mysqld daemon with databases from [...]之后)
mysql -h localhost选择mysql with
USE mysql (用新密码替换YOURNEWPASSWORD!)类型
UPDATE mysql.user
SET authentication_string=PASSWORD('new_password')
WHERE user='root' AND host='localhost'; 带着
quit 并重新启动MySQL
sudo mysqladmin shutdown
sudo service mysql start该错误与您的MySQL套接字有关。首先,您希望找到系统上的所有套接字文件:
sudo find / -type s您的套接字应该类似于以下内容
/var/lib/mysql/mysql.sock(重要的是/mysql.sock部分)
一旦找到打开套接字的位置,将该行添加或编辑到
/etc/my.cnf 带有套接字文件的路径的文件:
放
[mysqld]刚开始的时候
socket=/path/to/your/socket/在文件的末尾。
现在再试一下2选项。如果它不起作用,继续这个解释。
如果这不能解决您的问题,有些东西会覆盖my.cnf位置,这将导致在my.cnf文件所指示的位置找不到一个套接字。然后,当您尝试运行mysql命令行客户端时,它将读取my.cnf以找到套接字,但它不会找到它,因为它偏离了服务器创建套接字的位置。因此,除非您关心套接字驻留在何处,否则只需将my.cnf更改为匹配即可。
要解决这个问题,首先关闭mysqld进程
pkill -9 mysqld完成此操作后,您可能需要在/var/run/mysqld/中查找pid文件并删除它。
确保您的套接字上的权限能够使用户mysqld正在运行的任何用户都可以对其进行读写。一个简单的测试是打开它进行完整的读/写,看看它是否仍然有效:
chmod 755 /var/run/mysqld/mysqld.sock
资料来源:
https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html
https://ubuntu.flowconsult.at/en/mysql-set-change-reset-root-password/
发布于 2017-07-01 14:30:14
对于MySQL 5.7,默认密码是打印在日志中的。一个快速的grep可以返回它。
grep 'temporary password' /var/log/mysqld.log参考资料:https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root-password/
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
https://dba.stackexchange.com/questions/127537/setting-root-password-in-fresh-mysql-5-7-installation
发布于 2017-11-12 17:02:40
我没有发现ADDB的指示完全有帮助。在搜索之后,我发现了以下内容(选项2的一个小重写):
sudo /etc/init.d/mysql stop
sudo mkdir /var/run/mysqld/
sudo chown mysql /var/run/mysqld/
sudo mysqld_safe --skip-grant-tables &
mysql -uroot
use mysql;
update user set authentication_string=PASSWORD("NEW_PASSWORD_GOES_HERE") where User='root';
flush privileges;
quit;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start 参考资料:http://rricketts.com/reset-root-password-mysql-5-7-ubuntu-16-04-lts/
我最喜欢的方法是:
我使用了Mysql用户“debian”(一个根等价物)。密码可以在/etc/mysql/debian.cnf中找到。在登录到Mysql之后,该用户将更改任何Mysql用户的密码。
USE mysql
SELECT root@localhost;
ALTER USER user IDENTIFIED BY 'auth_string';
ALTER USER 'Name_of_user_to_be_modified'@'Hostname (ie:localhost)' IDENTIFIED BY 'NEW_PASSWORD';
flush privileges;
exit;参考资料:https://serverfault.com/questions/9948/what-is-the-debian-sys-maint-mysql-user-and-more
https://askubuntu.com/questions/931001
复制相似问题