zoukankan      html  css  js  c++  java
  • MySQL5.7安装

    1. 下载包
    wget   http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
     
    2. 解压
    tar  xxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
    mv  mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql
     
     
    3. 初始化
    useradd -M -s /sbin/nologin  mysql
    mkdir -p /data/mysql
    chown mysql /data/mysql
    cd /usr/local/mysql
    ./bin/mysqld  --initialize --user=mysql --datadir=/data/mysql
    注意,这一步最后一行会有一个提示
    [Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg    llRhYDpFa6>8    //jHxl,!<3iQ
    最后面的字符串为root密码。
    ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
     
     
    4. 拷贝配置文件和启动脚本
    cp support-files/my-default.cnf  /etc/my.cnf 
    vim /etc/my.cnf //编辑或者修改
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306
    socket = /tmp/mysql.sock
     
     
     
    cp support-files/mysql.server /etc/init.d/mysqld
    vi /etc/init.d/mysqld   //编辑或者修改
    basedir=/usr/local/mysql
    datadir=/data/mysql
     
     
    5. 启动服务
    /etc/init.d/mysqld start
     
    6. 设置root密码
    使用初始化密码登录
    /usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg'  //进入后直接设置密码
    mysql>set password = password('mypass');   //一定要设置一下新密码
    退出来,再使用新的密码登录就可以了
     
    或者
    SET PASSWORD = PASSWORD('HycK@12345.CoM');
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    flush privileges;
     
     
     
     
     
     
    还有一种情况,就是不知道初始化密码
    vi /etc/my.cnf
    在[mysqld]下面增加一行
    skip-grant-tables
    重启  /etc/init.d/mysqld restart
     
    /usr/local/mysql/bin/mysql -uroot
    mysql> update user set authentication_string=password('123333') where user='root';
    退出来后,更改my.cnf,去掉刚加的 skip-grant-tables
    重启 /etc/init.d/mysqld restart
     
    此时就可以使用新的密码了。
     
     
     
    数据库时差 相差8小时
    官网原话:
    This variable was added in MySQL 5.7.2. Before 5.7.2, timestamps in log messages were written using the local system time zone by default, not UTC. If you want the previous log message time zone default, set log_timestamps=SYSTEM.
    在MySQL 5.7.2 新增了 log_timestamps 这个参数,该参数主要是控制 error log、genera log,等等记录日志的显示时间参数。
    在 5.7.2 之后改参数为默认 UTC 这样会导致日志中记录的时间比中国这边的慢,导致查看日志不方便。修改为 SYSTEM 就能解决问题
     
    SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
    +----------------+--------+
    | Variable_name  | Value  |
    +----------------+--------+
    | log_timestamps | UTC    |
    +----------------+--------+
     
    SET GLOBAL log_timestamps = SYSTEM;
    Query OK, 0 rows affected (0.00 sec)
     
    SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
    +----------------+--------+
    | Variable_name  | Value  |
    +----------------+--------+
    | log_timestamps | SYSTEM |
    +----------------+--------+
     
     
     
     
     
     
     
     
     
    增量备份
     
    mysqlbinlog e:/mysqldb/logbin.000001
     
    mysql 对于你的每一次操作 都会记录一次时间 同时 给你分配一个位置 (pos)
    换句话说 以后我们恢复 可以根据时间点来恢复 或者根据位置来恢复
     
    比如说 我们把一个表个drop 了 那么我们只要把表恢复到 drop之前就好了
     
    时间点恢复
        我们可以画个流程图
        logbin.000001
        insert ......   3       2013-07-23 17:57:00
        update .....   4    2013-07-23 17:59:00
         insert ......   100       2013-07-23 19:57:00
        drop  ...        101    2013-07-23 20:57:00
     
        恢复的话可以这么写
        mysqlbinlog  --stop-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001
        上面这句的意思是 一直恢复到 2013-07-23 20:50:00  停止
         mysqlbinlog  --start-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001
        上面这句的意思是 从2013-07-23 20:50:00  开始恢复
     
    按照位置来恢复
            mysqlbinlog  --stop-position="100" e:/mysqldb/logbin.000001  |
            上面这个语句意思是 恢复到100的位置
     
    真实性恢复
    按照位置恢复
    mysqlbinlog  --stop-position=4590 e:/mysqldb/logbin.000001  | mysql -uroot -p
    按照时间恢复
    mysqlbinlog  --stop-datetime="2013-07-24 18:17:19" e:/mysqldb/logbin.000001  | mysql -uroot -p
     
     
    可以控制从什么时候开始 到什么是结束
    mysqlbinlog --start-position=4 --stop-position=106 yueliangd
    ao_binglog.000001 > c:\test1.txt
  • 相关阅读:
    Javascript 获得数组中相同或不同的数组元素
    JS 获取(期号、当前日期、本周第一天、最后一天及当前月第一、最后天函数)
    Intellij IDEA2020.2.3最新激活码激活破解方法(2020.11.26)
    【jQuery 区别】.click()和$(document).on("click","指定的元素",function(){});的区别
    pytorch repeat 和 expand 函数的使用场景,区别
    python小技巧
    提高GPU利用率
    pyinstaller 打包文件(包括使用管理员模式)
    frp 开机自启动
    AUC指标深度理解
  • 原文地址:https://www.cnblogs.com/caoyf1992/p/8243207.html
Copyright © 2011-2022 走看看