权限管理和逻辑备份
1.首先进入到mysql数据库下
2.用户ip,账号,密码设置
1.创建用户(3种不同程度的设置) #指定ip地址为'192.118.1.1',用户名为 'chao',密码为'123'的用户可以连接我的数据库 create user 'chao'@'192.118.1.1' identified by '123'; # 指定ip:192.118.1.开头的chao用户登录 create user 'chao'@'192.118.1.%' identified by '123'; # 指定任何ip的chao用户登录 create user 'chao'@'%' identified by '123'; 2.删除用户 drop user '用户名'@'IP地址'; 3.修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; 4.修改密码 set password for '用户名'@'IP地址'=Password('新密码');
3.对当前的用户授权管理
#查看权限 show grants for "用户"@"IP地址"; #用户仅对db1.t1文件有查询,插入和更新的权限 grant select ,insert,update on db1.t1 to "chao"@"127.0.0.1"; #赋予用户对db1库的全部权限(除了grant这个命令,这个命令是root才有) # %那里填IP号 grant all privileges on db1.t1 to "chao"@"%"; #用户对db1数据库中的文件执行任何操作 grant all privileges on db1.* to "chao"@'%'; #用户对所有数据库中文件有任何操作 grant all privileges on *.* to "chao"@'%'; # 取消chao用户对db1库的t1文件的任意操作 revoke all on db1.t1 from 'chao'@"%"; 取消来自远程服务器的chao用户所有数据库的所有的表的权限 revoke all privileges on *.* from 'chao'@'%';
注意:
每次授权后,都需要刷新一下.(flush privileges;)
4.连接别人数据库的指令
#此处的h后面写的是对方的ip号,P后面为端口号(固定为3306),u后面是用户名,最后是密码 C:\Users\九月遗迹>mysql -h 127.0.0.1 -P 3306 -u sir -p Enter password:123
二、逻辑备份
单库导出(2种方法):
#指令在cmd窗口下直接输入,不需要进入mysql里面
语法 mysqldump -h 服务器 -u 用户名 -p 密码 数据库名 > 备份文件.sql 1.mysqldump -h 127.0.0.1 -u root -p666 crm2 > f:\数据库备份练习\crm2.sql 2.mysqldump -uroot -p -B crm2> f:\数据库备份练习\crm2.sql 指令的意思就是将crm2这个库,备份到这个'f:\数据库备份练习\'路径下,并且命名为crm2.sql文件。(执行备份语句时,加上了-B参数,因为-B参数导出的文件中自带创建数据库和连接数据库的功能
(使用-B参数备份出来的内容自带create database 库名和use 库名的功能);否则,需要自己手动指定将数据回复到这个crm2库里面) #Warning: Using a password on the command line interface can be insecure. (这个提示是因为我把密码显示出来了,自己在自己电脑上测试的时候,这个警告可以忽略) 单库导入(2种方法): 1.首先连接到数据库中,创建crm2这个库 退出mysql或者重新启动一个cmd窗口, 然后执行指令 mysql -uroot -p 库名 < mysqldump 出来的那个sql文件的路径 例如:mysql -uroot -p crm2< f:\数据库备份练习\crm2.sql #应用于导出时带参数-B 2.mysql -uroot -p < f:\数据库备份练习\crm2.sql
单表导出: 语法:mysqldump -u 用户名 -p 库名 表名> (路径)备份的文件名 mysqldump -uroot -p crm2 student> f:\数据库备份练\crm2_table_student.sql #单纯进行表备份的时候,就不用写-B参数了,因为库crm2后面就是student表了,也就是说你的crm2库还在呢