查看用户表
$ use mysql;
$ select User, Password, Host from mysql.user
User : 用户名
Password : 密码(加密)
Host :连接IP
开放远程连接
1
$ vim /etc/mysql/mariadb.conf.d/50-server.cnf
然后注释:
1
# bind-address = 127.0.0.1
取消 **ip **记录不试用 dns
同配置文件找到 [mysqld] 部分的参数,在配置后面建立一个新行,添加下面这个参数:
然后重启 mysql-server
1
$ service mysql restart
创建用户
命令:
1
CREATE USER 'username' @ 'host' IDENTIFIED BY 'password'
说明:
username : 你要创建的用户名;
host :指定该用户在哪个主机上可以登陆,如果是本地用户可以使用 localhost ;如果你想任意远程主机都可以登陆,可以使用通配符%;
password :用户的登陆登陆密码,如果密码为空,用户登陆不需要密码;
例子:
1
2
3
4
5
6
7
8
9
CREATE USER 'pig' @ 'localhost' IDENTIFIED BY '123456' ;
CREATE USER 'pig' @ '192.168.1.11' IDENDIFIED BY '123456' ;
CREATE USER 'pig' @ '%' IDENTIFIED BY '123456' ;
CREATE USER 'pig' @ '%' IDENTIFIED BY '' ;
CREATE USER 'pig' @ '%' ;
用户授权
命令:
1
CRANT privileges ON databasenmae . tablename TO 'username' @ 'host'
说明:
privileges :用户操作权限,如:select ,insert ,update 等,如果要赋予全部权限则使用 all ;
databasename :数据库名,如果所有的库,可以用 *****
tablename :表名,如果所有的表可以用 *****
例子:
1
2
3
GRANT SELECT , INSERT ON test . user TO 'pig' @ '%' ;
GRANT ALL ON *.* TO 'pig' @ '%' ;
注意: 以上命令赋予用户的权限不能为其他用户开通该权限;如果让该用户的权限可以为其他用户开通,则需要以下命令:
1
GRANT privileges ON databasename . tablename TO 'username' @ 'host' WITH GRANT OPTION ;
设置密码或者更改密码
命令:
1
2
3
4
5
SET PASSWORD FOR 'username' @ 'host' = PASSWORD ( 'newpassword' );
# 如果是当前登陆用户用
SET PASSWORD = PASSWORD ( 'newpassword' )
例子:
1
SET PASSWORD FOR 'pig' @ '%' = PASSWORD ( '1234567' );
撤销用户权限
命令:
1
REVOKE privilege ON databasename . tablename FROM 'username' @ 'host' ;
说明:
privileges :用户操作权限,如:select,insert,update 等,如果要赋予全部权限则使用all;
databasename :数据库名,如果所有的库,可以用*
tablename :表名,如果所有的表可以用*
例子:
1
REVOKE SELECT ON *.* FROM 'pig' @ '%' ;
注意: 假如你在给用户 ‘pig’@’%’ 授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO ‘pig’@’%’, 则在使用 REVOKE SELECT ON _ . _ FROM ‘pig’@’%’ ;命令并不能撤销该用户对test数据库中 user 表的 SELECT 操作.相反,如果授权使用的是 GRANT SELECT ON _ . _** TO ‘pig’@’%’**;则 **REVOKE SELECT ON test.user FROM ‘pig’@’%’ **;命令也不能撤销该用户对test数据库中 user 表的 Select 权限. 具体信息可以用命令 SHOW GRANTS FOR ‘pig’@’%’ ; 查看.
删除用户
命令:
1
DROP USER 'username' @ 'host' ;