MySQL-IP访问受限、重置密码以及设置sql_mode

1,175 阅读1分钟

1、解决方式一:改表法

    ~ use mysql;
    ~ update user set host = '%' where user = 'root';
    ~ select host, user from user;
    ~ flush privileges;//刷新权限

2、方法二:授权法

    //不限制IP
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
    flush privileges;
    //限制IP
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY 'password' WITH GRANT OPTION;
    flush privileges;

3 MySQL Error: : 'Access denied for user 'root'@'localhost'

Open & Edit /etc/my.cnf or /etc/mysql/my.cnf, depending on your distro.
Add skip-grant-tables under [mysqld]
Restart Mysql
You should be able to login to mysql now using the below command mysql -u root -p
Run mysql> flush privileges;
Set new password by ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Go back to /etc/my.cnf and remove/comment skip-grant-tables
Restart Mysql
Now you will be able to login with the new password mysql -u root -p

4 设置sql_mode

#1
top@ubuntu:/etc/mysql$ sudo vim mysql.conf.d/mysqld.cnf

#2在mysqld加入sql_mode=
[mysqld]
#sql_mode
sql_mode =

#3
top@ubuntu:/etc/mysql$ sudo service mysql restart