1. 首页
  2. SQL

Mysql 常用命令语句

01.修改登陆IP限制

UPDATE USER SET host = '%'  WHERE USER ='root';
FLUSH PRIVILEGES;

02.增加用户

CREATE USER "test"@"%" IDENTIFIED BY "123456";

03.修改密码

mysql5.6及以下版本

SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘new_password’);

mysql5.7及以上版本

ALTER USER ‘username’@‘host’IDENTIFIED BY ‘new_password’;

修改密码后,需要刷新权限才能使更改生效

FLUSH PRIVILEGES;

04.创建数据库

CREATE DATABASE test DEFAULT charset utf8mb4 COLLATE utf8mb4_general_ci;

05.为用户授予数据库权限

授予指定数据库的全部权限

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

授予指定数据库,指定表的指定权限

GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'username'@'host';

授予所有数据库的权限

GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';

刷新权限使更改生效

FLUSH PRIVILEGES;

06.去掉mysql的ONLY_FULL_GROUP_BY模式(该模式下join不必要的表会报错),首先查询出原来的模式

select @@global.sql_mode;

其查询结果为:STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY

使用以下语句去掉该模式

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

TOP