位置: 编程技术 - 正文
推荐整理分享浅谈mysql密码遗忘和登陆报错的问题(mysql密码怎么找回),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql密码丢失,mysql密码丢失,mysql密码怎么找回,如果mysql密码丢了,mysql密码丢失,mysql密码丢失,mysql密码丢失,如果mysql密码丢了,内容如对您有帮助,希望把文章链接给更多的朋友!
mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行“跳过授权表”的参数选择即可!
在my.cnf中添加下面一行:
[root@test-huanqiu ~]# vim /etc/my.cnf //在[mysqld]区域里添加........skip-grant-tables //跳过授权表
然后重启mysql服务,即可无密码登录
[root@test-huanqiu ~]# /etc/init.d/mysqld restart
登录后重置密码
[root@test-huanqiu ~]# mysql mysql> select host,user,password from mysql.user;+--------------------+------+-------------------------------------------+| host | user | password |+--------------------+------+-------------------------------------------+| localhost | root | *ACA1BD6D1EE9C0FABABB || host---1- | root | || .0.0.1 | root | || ::1 | root | || localhost | | || host---1- | | |+--------------------+------+-------------------------------------------+6 rows in set (0. sec)
mysql> update mysql.user set password=password("") where host="localhost" and user="root";Query OK, 1 row affected (0. sec)Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;Query OK, 0 rows affected (0. sec)
mysql> select host,user,password from mysql.user;+--------------------+------+-------------------------------------------+| host | user | password |+--------------------+------+-------------------------------------------+| localhost | root | *6BBEBEEDDA7DCED2CA2AD9 || host---1- | root | || .0.0.1 | root | || ::1 | root | || localhost | | || host---1- | | |+--------------------+------+-------------------------------------------+6 rows in set (0. sec)
mysql>
再次将my.cnf里添加的那一行注释,然后重启mysql
[root@test-huanqiu ~]# vim /etc/my.cnf........#skip-grant-tables
[root@test-huanqiu ~]# /etc/init.d/mysqld restart
[root@test-huanqiu ~]# mysql -pmysql>
-----------------------------------------------------------------------------------------------------------------------
发现的一个坑:
mysql之前进行了全量备份,在恢复后,发现用之前的密码登陆不进去了!使用上面的方法,无密码登陆后再重置密码,但是重置密码后发现仍然登陆不进去。
最后发现是因为mysql.user表内容被清空了!mysql> select host,user,password from user;Empty set (0. sec)
解决:
插入数据,再重置密码
然后使用重置后的密码就能正常登陆了!
------------------------------------------------------------------------------------------------------------------
mysql登录报错1:
[root@test-huanqiu ~]# mysql -pERROR (HY): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ()
[root@test-huanqiu ~]# ps -ef|grep mysqlroot 1 0 : :: /bin/sh /usr/local/mysql//bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/data/mysql.pidmysql 0 : :: /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql/ --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql//lib/plugin --user=mysql --log-error=/data/mysql/data/mysql-error.log --pid-file=/data/mysql/data/mysql.pid --socket=/usr/local/mysql/var/mysql.sock --port=root 0 : pts/2 :: grep mysql
可知,当前mysql.sock文件路径是/usr/local/mysql/var/mysql.sock,
解决办法:做软链接
[root@test-huanqiu ~]# ll /usr/local/mysql/var/mysql.sockrwxrwxrwx. 1 mysql mysql 0 Nov : /usr/local/mysql/var/mysql.sock[root@test-huanqiu ~]# rm -f /var/lib/mysql/mysql.sock[root@test-huanqiu ~]# ln -s /usr/local/mysql/var/mysql.sock /var/lib/mysql/mysql.sock
这样就没问题了
[root@test-huanqiu ~]# mysql -pmysql>
----------------------------------------------------------------------------------------------------
启动mysql的时候报错:
Starting MySQL.... ERROR! The server quit without updating PID file (/data/mysql/data/mysql.pid).
尝试的解决办法:
(1)权限问题
可能是mysql.pid文件没有写的权限,将mysql的安装目录和数据目录的权限都设置成mysql启动用户权限。比如都修改为mysql:mysql权限
(2)可能进程里已经存在mysql进程
ps -ef|grep mysql 查出要是有mysql进程存在,就kill掉,再尝试重启mysql
(3)可能是多次在机器上安装mysql,有残余数据影响了服务的启动。
去mysql的数据目录看看,如果存在mysql-bin.index,就立刻删掉它,它就是罪魁祸首了!
(4)mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录。
在[mysqld]下添加设置,如datadir = /data/mysql/data
(5)skip-federated字段问题
检查一下my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉。
(6)错误日志目录不存在
去my.cnf文件下是否有log日志配置路径,如果有,查看下日志目录是否存在,日志目录权限要确保是mysql启动用户权限。
(7)selinux惹的祸,如果是centos系统,默认会开启selinux
闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。(8)重新初始化mysql数据试试
切换到mysql的安装目录下
./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql
--------------------------------
使用mysql服务端授权的信息登录mysql,报错如下:
ERROR (HY): Can't connect to MySQL server on '..1.' ()
可能的原因有:
1)可能网络连接问题,远程ping ..1. ,能ping通,排除此情况;
2)mysql服务端..1.的iptables里做了端口连接的白名单限制;
3)mysql服务端..1.的my.cnf文件里配置了bind_address地址绑定,不允许本机连接;
4)mysql服务端..1.的my.cnf文件里配置了skip_networking,这使用MySQL只能通过本机Socket连接(socket连接也是本地连接的默认方式),放弃对TCP/IP的监听;
5)排查DNS解析问题,检查mysql服务端..1.的my.cnf文件里是否设置了skip_name_resolve。这个参数加上后,不支持主机名的连接方式。
6)排查--port问题,有可能mysql服务端..1.的MySQL port不是默认,比如是端口,这样,远程连接的时候要加上--port=
7)排查用户和密码问题, 其实用户和密码的错误,不会出现的,所以排除用户密码问题ERROR (): Access denied for user 'root'@'XXXX' (using password: YES)
以上这篇浅谈mysql密码遗忘和登陆报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
详谈mysqldump数据导出的问题 1,使用mysqldump时报错(),这个是因为mysqldump版本太低与当前数据库版本不一致导致的。mysqldump:Couldn'texecute'SETOPTIONSQL_QUOTE_SHOW_CREATE=1':YouhaveanerrorinyourSQ
完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致) 机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了。查看mysql错误
关于mysql数据库误删除后的数据恢复操作说明 在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,
标签: mysql密码怎么找回
本文链接地址:https://www.jiuchutong.com/biancheng/349901.html 转载请保留说明!上一篇:解说mysql之binlog日志以及利用binlog日志恢复数据的方法(mysqlbinlog -vvv)
下一篇:详谈mysqldump数据导出的问题(mysqldumpslow)
友情链接: 武汉网站建设