zoukankan      html  css  js  c++  java
  • 数据库(二)tab补全功能,使数据库支持简体中文,日志管理,备份脚本

    一、如何在MySQL数据库中使用tab键补全功能

    1.修改主配置文件/etc/my.cnf

      vim /etc/my.cnf

       [mysql]

        #no-auto-rehash

        auto-rehash

    2.重启MySQL服务,登录测试

      /etc/init.d/mysqld restart

      mysql -uroot -p (可在数据库中使用tab键)

    3.;临时支持tab键

      mysql -uroot -p --auto-rehash

    二、是MySQL数据库支持简题中文

    1.临时支持简体中文

      在数据库中编辑 charset utf8;

    2.永久支持简题中文(yum方式安装的MySQL服务)

      vim /etc/my.cnf

       [client]

        default-character-set=utf8

       [mysql]

        default-character-set=utf8

      /etc/init.d/mysqld restart

    三、MySQL日志管理

    1.错误日志

      包含了当MySQL启动和停止时,以及服务器在运行过程中发生的任何错误时的相关信息,默认在安装目录/usr/local/mysql/data/下的“主机名。err”。

      可在登陆时使用“--log-error=文件路径及文件名”的方式来指定MySQL保存错误日志的位置;或者修改住配置文件/etc/my.cnf,在【mysql】下方添加“log-error=文件路径及文件名”,重启mysql服务。

      vim /etc/my.cnf

       [mysqld]

        log-error=mysql_error.log

      /etc/init.d/mysqld restart

      cat /usr/local/mysql/data/mysql_error.log

    2.通用查询日志

      MySQL所有连接和语句都将会被记录。默认关闭此项日志记录,一般作调试用,平时开启会记录大量数据占用磁盘空间。

      可在登录时使用“--log=文件路径及文件名”或“-l 文件路径及文件名”选项指定;或修改主配置文件/etc/my.cnf,在【mysqld】下添加“log=ON”和“log=文件路径及文件名”,重启mysqld服务。

      vim /etc/my.cnf

       [mysqld]

        log=ON

        log=/usr/local/mysql/data/mysql_general.log (绝对路径可以省略,保证mysql对该目录具有写入权限!

      tail -f /usr/local/mysql/data/mysql_general.log

      mysql -uroot -p

        show databases;

        use auth;

        show tables; (发现日志记录了所有执行过的命令)

    3.二进制日志

      包含了所有更新了的数据或者已经潜在更新了数据的所有语句,记录了数据的更改。主要目的是在恢复时能够最大可能的恢复数据库。默认是开启的,默认路径在/usr/local/mysql/data/下的,以“mysql-bin”开头的二进制日志。

      可在登录时使用“--log-bin=文件路径及文件名前缀”选项指定;或修改主配置文件/etc/my.cnf中【mysqld】下的“log-bin=文件路径及文件名”修改存放路径。

      可用mysqlbinlog命令查看二进制日志文件。

      vim /etc/my.cnf

       [mysqld]

        log-bin=mysql-bin

      cd /usr/local/mysql/data/

      mysqlbinlog --no-defaults  mysql-bin.000001

    4.慢速查询日志

      vim /etc/my.cnf

       [mysqld]

        long_query_time=5

        log-slow-queries=mysql_slow.log

      /etc/init.d/mysqld restart

      ll /usr/local/mysql/data/mysql_slow.log

    四、数据乱码的解决方法

    1.MySQL数据乱码的可能原因

     1)服务器系统字符设置问题

     2)数据表与设置问题

     3)客户端连接语系的问题

    2.解决方法

     1)在创建数据库时设定

      格式:create database 库名 character set 'utf8' collate 'utf8_general_ci';

     2)在创建表示设定字符集

      格式:create table 表名 (字段 格式) default charset=utf8;

     3)使用set names 设置默认字符集

      格式:set names utf8;charset utf8;

     4)永久修改,修改主配置文件在【mysql】字段中加入:detault_character_set=utf8;

      注意是mysql,不是mysqld,否则启动时报错!!!

      修改配置文件记得重启!

    五、MySQL数据库备份脚本

    实验要求:对mysql-server的auth库和client库,实现异地备份,每天凌晨2:00进行备份,撰写一个数据恢复脚本。

      MySQL服务端授权,给予select和locktables权限,以备份

      客户端安装客户端软件

     

    ·  连接测试

     

      撰写客户端备份脚本

     

      改变系统时间,执行任务计划,模拟每天的备份,为之后的恢复脚本做准备

     

      撰写数据恢复脚本

     vim /opt/restore_mysql.sh

    chmod +x /opt/restore_mysql.sh

      如在客户端恢复数据,需要开放权限

     

      恢复测试:

  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/mashuang/p/10019952.html
Copyright © 2011-2022 走看看