MySQL的数据库备份和用户管理

表的复制

1、表能根据实际需求复制数据 2、复制表时不会把KEY属性复制过来

语法

create table 表名 select 查询命令;

数据备份

  1. 备份命令格式
mysqldump -u用户名 -p 源库名 > ~/stu.sql –all-databases 备份所有库 db_name 备份单个库 -B 库1 库2 库3 备份多个库 库名 表1 表2 表3 备份指定库的多张表
  1. 恢复命令格式
mysql -uroot -p 目标库名 < stu.sql

用户权限管理

开启MySQL远程连接

更改配置文件,重启服务!
1.sudo  su
2.cd /etc/mysql/mysql.conf.d
3.cp mysqld.cnf mysqld.cnf.bak
4.vi mysqld.cnf #找到44行左右,加 # 注释
   #bind-address = 127.0.0.1
   [mysqld]
   character_set_server = utf8
5.保存退出
6.service mysql restart
7.修改用户表host值 
  use mysql;
  update user set host=% where user=root;
8.刷新权限
  flush privileges;

添加授权用户

1. 用root用户登录mysql
   mysql -uroot -p123456
2. 添加用户 % 表示自动选择可用IP
   CREATE USER username@host IDENTIFIED BY password;
3. 授权
   grant 权限列表 on 库.表 to "用户名"@"%" identified by "密码" with grant option;
4. 刷新权限
   flush privileges;

权限列表

all privileges 、select 、insert ,update,delete,alter等。
库.表 : *.* 代表所有库的所有表

示例

1. 创建用户
  mysql>create user  work@%  identified by 123;
2. 添加授权用户work,密码123,对所有库的所有表有所有权限
  mysql>grant all privileges on *.* to work@% identified by 123 with grant option;
  mysql>flush privileges;
3. 添加用户duty,密码123,对db2库中所有表有所有权限
  mysql>grant all privileges on books.* to duty@% identified by 123 with grant option;
  mysql>flush privileges;
经验分享 程序员 微信小程序 职场和发展