数据的导出和导入
当希望将自己数据库中的表结构和数据分享给别人的时候,可以使用下面的导出命令,在命令提示符下:
mysqldump -u root -p monkey1024 > d:/init.sql
上面的monkey1024是要导出的数据库的名称。
别人发给我们sql文件之后,我们可以利用命令来导入sql脚本,在命令提示符(管理员权限)下登录成功后,输入下面内容:
source d:/init.sql
即source后写上sql文件的目录地址。
用户管理
在MySQL数据库中,可以创建很多不同的用户, 为不同用户指定不同的访问权限,这样可以保证数据的安全性。MySQL数据库用户分为root用户与普通用户. root就是超级管理员,拥有所有的权限, 普通用户只拥有我们授予它的权限。有一个名字叫做mysql的数据库,该数据库中存放了用户管理相关的表
权限表
MySQL数据库通过权限表来控制用户的对数据库的访问,存储用户权限的信息表主要有: user, db, host, table_priv, column_priv等。
User表
user表是MySQL最重要的一个权限表,记录允许连接到服务器的用户信息,在mysql数据库中user表包含以下信息:
host表示主机
user用户名
password密码
权限列 xxxx_priv
安全列, ssl x509
资源控制列,每小时允许查询的次数,更新的次数
db表
db表存储了用户对某个数据库的操作权限,哪个用户可以操作哪个数据库,host存储了某个主机对数据库的操作权限,如果权限允许,我们可以从一台电脑访问另外一台电脑上的数据库。
tables_priv
tables_priv来设置表的操作权限
columns_priv来设置列的操作权限
新建帐户
要创建新用户,必须有相应的权限来执行创建操作,这里我们通过root用户创建
使用CREATE USER创建新用户
CREATE USER 'rabbit'@'localhost' IDENTIFIED BY '123123'
创建了用户后,该用户没有操作权限,还需要使用Grant命令给该用户授权。在创建用户时,可以直接使用GRANT在创建用户的同时给用户授权。
使用GRANT语句创建用户
把test数据库中所有的表的select,update权限授予 ‘monkey’@’localhost’用户,同时指定用户的密码是123123
GRANT SELECT,UPDATE ON test.* TO 'monkey'@'localhost' IDENTIFIED BY '123123'
删除帐户
DROP USER 'rabbit'@'localhost';
DELETE FROM mysql.user WHERE user='monkey' AND host = 'localhost';
修改普通用户的密码
update mysql.user set password = password(新密码) where user=’monkey’ and host=’localhost’
flush privileges;
修改root密码
set password for root@'%' = password('111111')