linux 下mysql 密码重置,并且允许远程连接

1:CentOS 6.4 通过yum 安装mysql 后无法通过root 进入的问题,,这是似乎是因为安装的时候有一个初始密码,这里直接重置密码

2:启动mysql (根目录下启动) service mysqld start(这里安装的是5.7 ,可能其他版本启动方法不一样)

3:启动后查看 mysql进程信息 ,获取mysqld_safe 的安装目录

 [root@MyServer ~]# ps -ef | grep -i mysql(这里一定要在~ 目录下)
1:出现以下信息

root      8138     1  0 16:35 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     8285  8138  0 16:35 ?        00:00:02 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root      9267  9082  0 16:54 pts/2    00:00:00 mysql -u root -p
root      9851  9746  0 17:07 pts/4    00:00:00 grep -i mysql

2: 可以看到 mysqld_safe的安装位置: /usr/bin/mysqld_safe 

3:执行命令,停止mysql 
 [root@MyServer ~]#  service mysqld stop

4:以安全方式启动mysql

 [root@MyServer ~]# /usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1&


5:如果没出现mysql  ,首先输入mysql  然后会出现“mysql>”提示符后输入(5.7以后 是authentication_string,之前版本可能是password)
update user set authentication_string=password('xxx') where User = 'root'; 可能会提示 No database selected, 这里要输入 use mysql 选择 mysql 数据库

6:刷新系统权限表
flush privileges;

7:退出
  exit;

8:使用mysql -uroot -p登录mysql 的时候明明登录进去了,缺还提示需要密码 ,这时候要执行9以后的步骤
You must reset your password using ALTER USER statement before executing this statemen

9: mysql> SET PASSWORD = PASSWORD('xxxx');  这句话重新设置一次密码,完成以后就可以操作表了

Linux下配置Mysql允许远程访问详解

1:登录以后,切换到mysql 数据库

mysql>  use mysql;

2.查看用户表 :

SELECT `Host` , `User` FROM  user;

3.更新用户表 :

UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;

4:强制刷新权限 :

flush privileges;

完成以上步骤即可远程连接数据库
其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可

你可能感兴趣的:(linux 下mysql 密码重置,并且允许远程连接)