mysql修改密码遇错解决

今天接手一个在centos环境下安装的mysql。以前应该是安装了mysql,没有设置密码,导致外网可以随意没用密码访问。

1、开始使用/etc/init.d/mysql start启动之后,用mysql -u root -p无法登陆,报ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock',百度一番后,解决:

mysql -h 127.0.0.1 -u root -p

2、登陆进去后,使用以下语句修改密码:update mysql.user set password=password('sddfgwet4t') where user='root' and host='localhost';结果报错:ERROR 1036 (HY000): Table 'user' is read only

网上找了不少方法,结果是都无法解决问题,尤其是有的文章里面提到的,修改数据库文件权限,貌似找不到文件的存在,解决:

(1)、进入mysql命令,输入:SHOW VARIABLES LIKE '%datadir%';找到自己的mysql文件目录我的是:/data/mysql。

(2)、然后:chmod -R 0777 /data/mysql 修改mysql权限,也可以修改与mysql相同的权限。

(3)、进入mysql的bin目录,我的是: /usr/local/mysql/bin

(4)、运行:./mysqladmin -h 127.0.0.1 -u root -p flush-tables

(5)、进入mysql命令,重新输入update mysql.user set password=password('sddfgwet4t') where user='root' and host='localhost';

(6)、flush privileges;

备注:中途如果发现mysql无法用命令进入,可以尝试重启数据库试试:/etc/init.d/mysql restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值