mysql创建库和用户_MySQL创建数据库与用户以及授权

创建数据库

create database [数据库名称] default character set utf8 collate utf8_general_ci;

mysql> CREATE DATABASE test DEFAULT CHARACTER SET utf8 collate utf8_general_ci

创建用户

create user ‘[用户名称]’@’%’ identified by ‘[用户密码]’;

创建用户。’localhost’,代表只能本地访问,例如root账户默认为‘localhost‘。

mysql> CREATE USER 'finley'@'localhost' IDENTIFIED BY 'some_pass';

创建用户。’%’:所有远程主机访问。

mysql> CREATE USER 'finley'@'%' IDENTIFIED BY 'some_pass';

授权

用户授权数据库。*代表整个数据库

GRANT privileges ON databasename.tablename TO ‘username’@’host’ [with grant option ]

with grant option:允许被授予权限的人把这个权限授予其他的人。

一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

mysql> GRANT SELECT,UPDATE ON test to testuser2

授权用户只能本地访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'finley'@'localhost'

->WITH GRANT OPTION;

授权用户可以远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'finley'@'%'

->WITH GRANT OPTION;

-- finley对test有所有权限。

mysql> GRANT ALL PRIVILEGES ON test.* TO 'finley'@'%' IDENTIFIED BY 'some_pass';

-- finley对test有select,delete,update,create,drop权限。

mysql> GRANT SELECT,DELETE,UPDATE,CREATE,DROP ON test.* TO finley@'%' IDENTIFIED BY 'some_pass';

重新载入赋权表

mysql> FLUSH PRIVILEGES;

要远程连接,还需要设置/etc/mysql/mysql.conf.d/mysqld.cnf

#只允许localhost访问

#bind-address = 127.0.0.1

bind-address = 0.0.0.0

解除授权

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from”:

--解除用户所有数据库(表)的所有权限(不包含赋权权限)

mysql> REVOKE ALL PRIVILEGES ON *.* FROM finley;

--解除赋权权限

mysql> REVOKE GRANT OPTION ON *.* FROM finley;

删除用户

mysql> DELETE FROM mysql.user WHERE user='finley';

设置与更改用户密码

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

如果是当前登陆用户用:

SET PASSWORD = PASSWORD(“newpassword”);

mysql> SET PASSWORD FOR 'finley'@'%' = PASSWORD("123456");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值