第一步:
$ sudo /etc/init.d/mysql stop
[ ok ] Stopping MySQL database server: mysqld.
$ sudo /usr/bin/mysqld_safe --skip-grant-tables&
[2] 19668
151105 21:12:43 mysqld_safe Logging to syslog.
151105 21:12:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
第二步:(进入MySQL)
~$ mysql
mysql> use mysql;
Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A
Database changed
mysql> insert into user(Host,User,Password) values("localhost","test",password("1234"));
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
执行这句时候有可能出错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个时候我们只需要
mysql> flush privileges; 就好了!!
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
第三步:
~$ sudo /etc/init.d/mysql start