MySQL创建用户及赋权

229 阅读1分钟

安装

  1. 下载 官方网站,安装个社区版:dev.mysql.com/downloads/m…
  2. 安装
    下一步,下一步,没啥好说的。
    注意有个选择密码的加密方式,用8.0新增的加密方式更安全,用经典加密方式与5.x兼容,自己评估;

环境变量配置

MySQL8.0macOS上没有将bin目录写到PATH变量里,需要自己添加。根据自己的shell修改配置文件,比如我是zsh,就修改.zshrc文件。
export PATH=$PATH:/usr/local/mysql/bin
重新启动终端或者source一下即可;

创建数据库

  1. root用户登入 mysql -hlocalhost -uroot -p
    输入安装过程中设置的密码,即可。
  2. 创建数据库
    create database xxdb;

创建新用户

安装考虑,禁止将root账户用于开发、测试、生产,根据项目情况为数据库创建一个独立的新账户,并赋予最小化权限是一个合理的选择。
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
The host name part of the account name, if omitted, defaults to '%'.

修改用户密码

ALTER USER语句,注意用户是'name'@'host',而不只是name
ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
如果已经是当前用户登录,可以简写如下:
ALTER USER USER() IDENTIFIED BY 'password';

赋权

如果有专门的DBA,给开发同学的账户只需要DML的权限即可,如果是DBA同学的账户或者开发测试账户,可以同时具备DML,DDL权限,如下:
GRANT ALL ON xxdb.* TO 'jeffrey'@'localhost';
用户'jeffrey'@'localhost'具备xxdb的所有权限;
还可以只对数据表赋权,具体参见官方文档:dev.mysql.com/doc/refman/…
权限生效:
FLUSH PRIVILEGES

新用户建立并赋权后,便需使用新用户进行开发、测试、生产。