MySQL数据库的用户管理、数据库备份与恢复

MySQL 是一个真正的多线程、多用户的 SQL 数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年之前,MySQL 项目由 MySQL AB 公司进行开发、发布和支持,以后历经 Sun 公司收购 MySQL AB 公司,Oracle 公司收购 Sun 公司的过程,目前 MySQL 项目由 Oracle 公司负责运营和维护。mysql

MySQL 数据库的用户管理

  • 新建用户
    mysql -u root -p ##登陆数据库
    use mysql; ##进入mysql数据库(全部建立的用户都保存在mysql数据库的user表中)
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    #其中host是指定用户能够在哪些主机登陆,可以使用 IP地址、网段、主机名的形式,
    #本地用户可用 localhost ,任意远程主机登陆能够用通配符 %sql

  • 查看用户
    use mysql;
    select User,authentication_string,Host from user;数据库

  • 删除用户
    DROP USER 'username'@'host';服务器

  • 重命名用户
    RENAME USER 'old_user'@'host' TO 'new_user'@'host';多线程

  • 修改用户密码
    SET PASSWORD=PASSWORD('password'); #修改当前用户密码,括号内为新密码
    SET PASSWORD for 'username'@'host'=PASSWORD('password'); #修改其余用户的密码ide

  • 忘记 root 用户密码的解决办法
    1: 中止mysql服务进程
    systemctl stop mysqld.service #关闭mysql服务
    netstat -ntap | grep 3306 #确保mysql进程关闭工具

    2: 跳过用户列表 user 验证,使用户能够不使用密码直接登陆
    mysqld --skip-grant-tables性能

    3: 从新打开一个终端,使用mysql直接登陆到数据库
    mysql #直接进入数据库
    update mysql.user set authentication_string=password('password') where user='root'; #修改root密码线程

    4: 刷新数据库,使用新密码登陆root用户
    flush privileges; #刷新数据库
    mysql -u root -p #使用新密码登陆进程

  • 受权管理
    GRANT 权限列表 ON 库名.表名 TO 'username'@'host' IDENTIFIED BY 'password';

数据库的备份及恢复

MySQL数据库备份

  • 使用 tar 打包文件夹备份
    1) 安装 xz 压缩格式工具
    #yum install xz -y
    2) 打包数据库文件,默认存放在安装目录的 data 文件夹
    #tar Jcvf /opt/mysql-$(data +%F).tar.xz /usr/local/mysql/data
    3) 若是数据库文件损坏,能够解压缩备份文件
    #tar Jxvf /opt/mysql-2018-07-30.tar.xz /usr/local/mysql/data
    4)咱们可使用计划性任务来自动对数据库进行备份并按期删除以前打包的数据库文件

  • 使用 mysqldump 工具有份

    mysqldump -u root -p [密码] [选项] [数据库名] [数据表名] > /备份路径/备份文件名

  1. 对库 test 中的表 test_一、test_2进行备份
    #mysqldump -u root -p123456 test test_1 test_2 > /opt/dump.sql

  2. 对整个 test 库进行备份
    #mysqldump -u root -p123456 test > /opt/test.sql

  3. 对多个库进行备份(test库、word库)
    #mysqldump -u root -p123456 --databases test word > /opt/test_word.sql

  4. 对全部库进行备份
    #mysqldump -u root -p123456 --all-databases > /opt/all.sql

  5. 直接备份表结构(test库中的test_一、test_2表)
    #mysqldump -u root -p123456 -d test test_1 test_2 > /opt/tables.sql

恢复数据库

  • 登陆 mysql 恢复
    drop database test; #删除损坏的test库
    source /opt/test.sql;

  • 使用mysql命令恢复
    drop database test; #删除test库
    create database test; #必须先建立test库,不然会报错
    exit; #退出数据库
    mysql -u root -p123456 test < /opt/test.sql #使用命令恢复

  • 表的恢复和库的恢复一致,只需注意先要进到表存放的库里面便可。
相关文章
相关标签/搜索