首先登录服务器:Linux

1.修改配置文件

vi /etc/my.cnf

在[mysqld]的段中加上一句

  skip-grant-tables 

2.保存重启 mysql

 service mysqld restart

3.修改root密码

[root@jason bin]# mysql

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update mysql.user set authentication_string=password('jason_zhang') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2  Changed: 0  Warnings: 1
mysql> flush privileges;
mysql> quit

或者

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'jason_zhang';

4.删除配置文件中的 skip-grant-tables

 步骤1 中,在配置文件中新增的部分,删除;

5.保存重启 mysql

 service mysqld restart

6.登录 mysql,设置登录权限

mysql -u root -p

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.15 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' IDENTIFIED BY 'your root password' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)



参考: http://blog.51cto.com/liuqh/2061241