MySQL的数据库备份和用户管理
表的复制
1、表能根据实际需求复制数据 2、复制表时不会把KEY属性复制过来
语法
create table 表名 select 查询命令;
数据备份
- 备份命令格式
mysqldump -u用户名 -p 源库名 > ~/stu.sql –all-databases 备份所有库 db_name 备份单个库 -B 库1 库2 库3 备份多个库 库名 表1 表2 表3 备份指定库的多张表
- 恢复命令格式
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;
