mysql忘记了密码、允许远程连接、mysql卸载 -- linux

[root@mytestlnx02 ~]# mysql -u root -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

就是这个错误!!!解决方案如下:

1、检查mysql服务是否启动,如果启动,关闭mysql服务

ps -ef | grep -i mysql

service mysql stop

2、修改mysql的配置文件my.cnf,my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf,在配置文件中,增加2行代码

[mysqld]

skip-grant-tables

作用是登录mysql的时候跳过密码验证

3、然后启动mysql服务,并进入mysql, 修改密码

service mysqld start

mysql -u root

update mysql.user set authentication_string=password('root_password') where user='root';

flush privileges;

exit

到此为止,如果没有出现其他错误,那你就是修改成功了,接下来只需要关闭服务,把第2步中修改配置文件的那行注释掉,重启mysql就可以用新密码登陆了;

补充个其它内容,到了这一步,顺便就把编码格式改了吧,配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
character_set_server=utf8

init_connect='SET NAMES utf8'

port=33066

lower_case_table_names = 1  #是否区分大小写,默认0区分;1不区分;

4、注意,这里补充一个问题,mysql某个版本之后,修改密码时,新密码有一个策略问题,修改时时候经常发现修改失败,就是下面这个error:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements;

解决方案就是,修改密码策略,或者设置一个符合密码策略的密码,有人会问,密码策略是什么呢,往下看:

执行 mysql> SHOW VARIABLES LIKE 'validate_password%';查看密码策略

+-------------------------------------------------------+-------------+
| Variable_name                                           | Value       |
+-------------------------------------------------------+--------------+
| validate_password_check_user_name     | OFF          |
| validate_password_dictionary_file             |                 |
| validate_password_length                         | 8              |
| validate_password_mixed_case_count     | 1              |
| validate_password_number_count            | 1              |
| validate_password_policy                          | MEDIUM |
| validate_password_special_char_count    | 1              |
+-------------------------------------------------------+--------------+

注意紫色的两行,第1个有效的密码长度是8,第2个有效的密码策略是medium(中级);

你要做的就是将密码策略设置成低级(LOW):

mysql> set global validate_password_policy=LOW;

然后再执行第3步中修改密码的语句

update mysql.user set authentication_string=password('root_password') where user='root';

至此应该就没有什么问题了;

5、哦哦还有,让别人连接你的mysql时,往往要给他开一个新账号方便管理,千万不要让他和你用同一个账号;这里再补充一点,如何创建一个新账号,并允许对方远程连接访问:下面两种情况,看你是哪一种

新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

支持已有root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

如果密码错了再次执行第4步;

说明一下,这只是属于低级的操作方法,团队开发的时候可以快速搭建好数据库;如果你是在线上服务器,还是去找更完善的解决方案,这个不安全

 

这是我第一次在linux上搞mysql,也是遇上问题才找解决方法,也许你又其它更好的方案,可以留言,安装有新问题,也可以来留言

 

====这是分割线 2019年6月4日补充====================================================================

如何卸载yum方式安装的mysql? 安装出错了,总想卸载以后重新安装:

 $ yum remove mysql mysql-server mysql-libs compat-mysql51

$ rm -rf /var/lib/mysq

$ rm /etc/my.cnf

查看是否还有mysql软件:

$ rpm -qa|grep mysql

如果存在的话,继续删除即可,删除方式:yum remove + 【名字】。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值