mysql忘记用户密码怎么新建用户

mysql数据库忘记密码了,尝试了几遍都密码错误,于是决定干脆新建一个用户来使用吧。

1.找的mysql的配置文件

MySQL的配置文件通常位于以下位置之一:

  • /etc/my.cnf /etc/mysql/my.cnf
  • /etc/mysql/mysql.conf.d/mysql.cnf
  • /etc/mysql/conf.d/mysql.cnf

很巧,我的配置文件就在/etc/my.cnf 里面

2.编辑my.cnf文件,新增skip-grant-tables参数

sudo vi /etc/my.cnf
在[mysqld]下面新增skip-grant-tables参数,绕过权限登录
插入skip-grant-tables参数
:wq 保存退出
3.重启mysql服务,使设置生效
sudo systemctl restart mysqld

这时候,使用 mysql -u root 登录,可以无密码登录成功啦~

登录之后,我们来新建用户:

mysql>CREATE USER ‘mysqluser’@‘%’ IDENTIFIED BY ‘password’;
这里的mysqluser 和 password 替换为你的用户名和密码,%表示该用户可以任意主机登录,如果你想让该用户只能在本地登录,那你可以把%换为localhost

当你按下确定键的时候,可能会有一个报错提示:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这时候你需要使用 FLUSH PRIVILEGES:刷新权限,就行啦

mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

之后重新运行新增用户操作:
新增用户:
mysql>CREATE USER ‘mysqluser’@‘%’ IDENTIFIED BY ‘password’;

mysql>GRANT ALL PRIVILEGES ON . TO ‘mysqluser’@‘%’ WITH GRANT OPTION;

  • ALL PRIVILEGES 表示授予所有权限。
  • ON . 表示对所有数据库和表授予权限。
  • WITH GRANT OPTION允许该用户将权限授予其他用户.

mysql>FLUSH PRIVILEGES;
刷新权限,立即生效

新用户建完之后,记得去配置文件里面把skip-grant-tables参数注释掉噢,不然可是很危险的。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值