linux mysql 初始化密码&丢失密码重新设置&添加远程连接支持

一、初始化密码

方法1: 用SET PASSWORD命令 

mysql -u root 
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);

  

方法2:用mysqladmin 
  

mysqladmin -u root password “newpass” 
如果root已经设置过密码,采用如下方法 
mysqladmin -u root password oldpass “newpass”

方法3: 用UPDATE直接编辑user表 

mysql -u root 
mysql> use mysql; 
mysql> UPDATE user SET Password = PASSWORD(‘newpass’) WHERE user = ‘root’; 
mysql> FLUSH PRIVILEGES;

二、丢失root密码,设置root密码

方法1: 

mysqld_safe –skip-grant-tables& 
mysql -u root mysql 
mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE user=’root’; 
mysql> FLUSH PRIVILEGES; 


方法2: 

1、修改mysql的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

2、保存配置文件后,重启mysql服务 service mysqld restart

3、mysql -u root -p登录mysql,然后不输入密码直接回车,然后按照上面的流程修改密码

4、密码修改完毕,按照流程1的删除配置文件中的那行,然后重启mysql服务

三、启动MySQL远程访问权限,允许远程连接

1. 实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;

2. 实现远程连接(改表法)

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

猜你喜欢

转载自my.oschina.net/winheart/blog/1815599