dba使用mysql踩过的坑_mysql使用过程中遇到的坑

本文详细介绍了如何在Linux环境下重置MySQL的初始密码,包括编辑my.cnf配置文件以跳过密码验证,修改用户密码,以及恢复配置文件。此外,还讲解了如何开启3306端口,允许远程连接,并赋予用户数据库全权。最后,针对远程连接提示密码规则改变的问题,给出了相应的解决步骤。
摘要由CSDN通过智能技术生成

找不到初始密码解决方案

修改mysql的配置文件,使之可以跳过密码直接用root进入数据库

(1)首先找到mysql的配置文件my.cnf 一般在 /etc/my.cnf

(2)cd进 /etc 直接 vim my.cnf 编辑他

(3)在【mysqld】标签下或者文件最下面添加一句skip-grant-tables 即可

(4) esc退出编辑 :wq保存退出 ,然后重启服务器 service mysqld restart 让修改生效

(5)mysql -u root 就可以直接进入数据库了

(6)然后是修改密码,最好设置密码复杂点,建议:大写字母+小写字母+符号。否则后面mysql会报错让你改到符合mysql的安全策略,或者也可以修改mysql安全策略

mysql> USE mysql;

mysql> update mysql.user set authentication_string=password(‘新密码‘) where user=‘root‘;

mysql> flush privileges ;

mysql> quit

(7)改完密码,再将配置文件改回来,就把添加的那句删掉就好了,然后再次重启服务器service mysqld restart

(8)然后就可以使用 mysql -uroot -p输入你的新密码进入啦

开启端口

在CentOS系统中防火墙默认是阻止3306端口的,我们要是想访问mysql数据库,我们需要这个端口,命令如下:

1 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

我们需要保存我们的操作,命令如下:

1 /etc/rc.d/init.d/iptables save

此时我们可以查看端口的状态,命令如下:

1 /etc/init.d/iptables status

当然如果你打开其他端口也一样,只需要把这个端口号换乘你需要的端口号即可。

赋予某个用户某个数据库的所有权限

1.mysql授权 :grant all privileges on testdb.* to dba@‘localhost’

其中,关键字 “privileges” 可以省略。

2.grant all privileges on demoDB.* to demo@localhost identified by ‘1234’;

第二种不行再尝试第一种

远程连接提示密码规则改变

进入mysql依次执行下面语句

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码

FLUSH PRIVILEGES; #刷新权限

alter user ‘root’@‘localhost’ identified by ‘xzx123456’;#重置密码

原文:https://blog..net/lihua5419/article/details/80394716

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值