# Mysql 常用命令

  • mysql -u homestead -p 链接数据库
  • select user,host from mysql.user; 查看 mysql 用户
  • create user "user_account"@"host" identified by "password"; 创建 mysql 用户
  • set password for 'homestead'@'%' = password('secret'); 修改用户密码 flush privileges;
  • drop user 'user_account'@'host'; 删除用户
  • show grants for 'user_account' 查看用户权限
  • CREATE DATABASE user_account character set UTF8 collate utf8_bin 创建数据库
  • CREATE USER 'user_account'@'%' IDENTIFIED BY 'psd' 创建数据密码
  • GRANT ALL ON *.* TO 'user_account'@'%' IDENTIFIED BY 'psd' WITH GRANT OPTION 这里(*)表示允许访问所有库,也可以在这里写库名 user_account.* ,则只能访问这个库,并把该数据库的所有表的所有权限给user这个用户,允许这个用户通过任何ip地址(也可限定IP地址,‘%’改成允许的‘IP'),使用指定密码进行连接,配置完后使用命令:flush privileges;使配置生效,刷新mysql的系统权限相关表,否则会出现拒绝访问。重启数据库也能达到这样的效果
  • revoke delete on test.* from 'user_account'@'localhost'; 删除权限
  • show databases 查看所有库
  • use shujuku 选择数据库
  • show tables 查看所有表
  • desc table 查看表结构
  • alter table users add field tinyint(1) NOT NULL DEFAULT '0' comment '备注'; 添加字段
  • alter table users drop column field 删除字段
  • mysql -u homestead -p shujuku < shujuku.sql 导入数据到库当前执行命令目录
  • mysqldump -u homestead -p shujuku > shujuku.sql 导出数据库当前执行命令目录
  • mysqldump -u homestead -p shujuku users > users.sql 导出指定表

# 常用增删改查

  • delete from table where id=36 删除数据
  • UPDATE table SET feild=6 WHERE id=1; 更新数据

# Access denied for user 'root'@'localhost

  • 查看一下 user 表,错误的起因就是在这里,root 的 plugin 被修改成了auth_socket,用密码登陆的 plugin 应该是 mysql_native_password
select user,plugin from mysql.user;
update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root';
flush privileges;