登陆参数
# 常用参数:
-h:--host=name 服务器名称
-D:--database=name 打开指定数据库
-p:--password[=name] 密码
-u:--user=name 用户名
-P:--port=# 端口号
-V:--version 输出版本信息
--prompt=name 设置提示符
# 常用命令:
mysql -u root -p # 默认登陆本机部署的数据库
mysql -u root -p -h 127.0.0.1 -P 3306 # 指定数据地址并指明端口
权限体系
查询所有用户
mysql> use mysql;
查询所有用户
mysql> select Host,User from user;
查询用户权限:all表示所有权限,select表示只查权限,update表示只改权限,delete表示只删权限等。
mysql> show grants for "user"@"host";
mysql> show grants for "root"@"localhost";
添加授权用户(新创建的用户,默认情况下是没有任何权限的):使用root用户连接到服务器
mysql> create user "用户名"@"IP地址" identified by "密码";
例:
mysql> create user "zabbix"@"%" identified by "123456";
mysql> create user "zabbix"@"localhost" identified by "123456";
注意:
IP地址的表示方式:
1.% 表示用户可以从任何地址连接到服务器
2.localhost 表示用户只能从本地连接到服务器
3.指定一个ip表示用户只能从此ip连接到服务器
分配用户权限(给用户授权)
mysql> grant 权限列表 on 库.表 to "用户名"@"ip地址" with grant option;
例:
mysql> grant all privileges on *.* to "zabbix"@"%" with grant option;
mysql> grant all privileges on *.* to "zabbix"@"%" identified by 'test' with grant option;
mysql> grant all privileges on domain_check.tb_user to "zabbix"@"localhost" with grant option;
mysql> grant select on domain_check.tb_user to "zabbix"@"localhost" with grant option;
mysql> grant select,insert on domain_check.tb_user to "zabbix"@"192.168.1.1" with grant option;
注意:
1.权限列表:select、update、delete、insert、alter、drop、create、...(show)
2.库.表:*.*表示所有库的所有表。with grant option表示它具有grant权限。密码是test。
3.如果带了 with grant option,那么用户zabbix可以将select ,update权限传递给其他用户( 如xiaodon)。
4.如果没带 with grant option,那么用户zabbix不能给用户xiaodon授权。
5.all后面加上privileges,具体到哪些权限时得看MySQL版本,5.7版本不加privileges,8.0版本加privileges。
mysql> flush privileges; 刷新权限
收回用户权限
mysql> revoke all on *.* from "zabbix"@"localhost";
mysql> revoke all on domain_check.tb_user from "zabbix"@"localhost";
mysql> revoke select on *.* from "zabbix"@"localhost";
删除授权用户
mysql> drop user "用户名"@"ip地址"
mysql> drop user "zabbix"@"%"
mysql> delete from user where user='zabbix';
mysql> flush privileges;