zoukankan      html  css  js  c++  java
  • Mysql 安装

    1. 源码安装

        wget https://downloads.mysql.com/archives/get/file/mysql-5.6.36.tar.gz
        yum install -y gcc gcc-c++ automake autoconf
        yum -y install cmake bison-devel ncurses-devel libaio-devel
    
        预编译:
    
        cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.36 
        -DMYSQL_DATADIR=/usr/local/mysql-5.6.36/data 
        -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.36/tmp/mysql.sock 
        -DDEFAULT_CHARSET=utf8 
        -DDEFAULT_COLLATION=utf8_general_ci 
        -DWITH_EXTRA_CHARSETS=all 
        -DWITH_INNOBASE_STORAGE_ENGINE=1 
        -DWITH_FEDERATED_STORAGE_ENGINE=1 
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
        -DWITH_ZLIB=bundled 
        -DWITH_SSL=bundled 
        -DENABLED_LOCAL_INFILE=1 
        -DWITH_EMBEDDED_SERVER=1 
        -DENABLE_DOWNLOADS=1 
        -DWITH_DEBUG=0
    
        编译 && 安装:
    
        make && make install
    
    
        安装后操作:
    
        useradd -s /sbin/nologin mysql -M
        ln -s /usr/local/mysql-5.6.36  /usr/local/mysql
        chown -R mysql.mysql /usr/local/mysql/data
        /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
        /bin/cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
        /bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
        echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
        . /etc/profile
        chkconfig --add mysqld
        /usr/local/mysql/bin/mysqladmin -u root password 'xx'
    
    
    
        启动错误:
    
        Starting MySQL.Logging to '/usr/local/mysql-5.6.36/data/db01.err'.
        171113 13:07:01 mysqld_safe Directory '/usr/local/mysql-5.6.36/tmp' for UNIX socket file don't exists.
         ERROR! The server quit without updating PID file (/usr/local/mysql-5.6.36/data/db01.pid).
    
        mkdir /usr/local/mysql-5.6.36/tmp
        chown -R mysql.mysql /usr/local/mysql-5.6.36/tmp
    
    
    -----------------------------------------------------------------------------
    
        To start mysqld at boot time you have to copy
        support-files/mysql.server to the right place for your system
    
        PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
        To do so, start the server, then issue the following commands:
    
          /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
          /usr/local/mysql/bin/mysqladmin -u root -h iZ2zedsleruuvamkhs3he4Z password 'new-password'
    
        Alternatively you can run:
    
          /usr/local/mysql/bin/mysql_secure_installation
    
        which will also give you the option of removing the test
        databases and anonymous user created by default.  This is
        strongly recommended for production servers.
    
        See the manual for more instructions.
    
        You can start the MySQL daemon with:
    
          cd . ; /usr/local/mysql/bin/mysqld_safe &
    
        You can test the MySQL daemon with mysql-test-run.pl
    
          cd mysql-test ; perl mysql-test-run.pl
    
        Please report any problems at http://bugs.mysql.com/
    
        The latest information about MySQL is available on the web at
    
          http://www.mysql.com
    
        Support MySQL by buying support/licenses at http://shop.mysql.com
    
        New default config file was created as /usr/local/mysql/my.cnf and
        will be used by default by the server when you start it.
        You may edit this file to change server settings
    
    --------------------------------------------------------------------------------
    View Code

    2. centos7安装 

        rm -rf /var/lib/mysql/*
    
        yum -y install mariadb mariadb-server
    
        systemctl start mariadb
    
        systemctl enable mariadb
    
        #配置
        mysql_secure_installation
    
        #先删除多余的用户
        select Host,User,Password from user;
    mariadb

    3. 授权 

        #创建用户
        create user 'xiao'@'127.0.0.1' identified by 'xxx';
    
        #创建数据库
        create database cnblogs CHARACTER SET utf8  COLLATE utf8_general_ci;
    
        #授权
        grant all on cnblogs.* to "xiao"@"127.0.0.1" identified by 'xxx'; 
    授权

    4. 备份 

    http://edu.51cto.com/course/course_id-808.html
    1、压缩备份
        mysqldump -uroot -p123456 -B oldboy |gzip >/opt/mysql_bak.sql.gz
        
    2、备份多个库
        mysqldump -uroot -p123456 -A |gzip >/opt/mysql_bak.sql.gz
        mysqldump -uroot -p123456 -B oldboy oldgirl|gzip >/opt/mysql_bak.sql.gz
        mysql -uroot -p123456 -e "show databases;" |egrep -vi "data|infor|per"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p123456 --events -B 1|gzip >/opt/1.sql.gz#g'|bash
        
    3、备份test库下的test表
        mysqldump -uroot -p123456 test test >/opt/test.sql
        
    4、备份表结构
        mysqldump -uroot -p123456 -d test test >/opt/test.sql
    
    5、备份表的数据
        mysqldump -uroot -p123456 -t test test >/opt/test.sql
        
    --------------增量备份案例-------------
    1、先完整备份
        mysqldump -uroot -p123456 -F -B --master-data=2 oldboy|gzip >/opt/bak_$(date +%F).sql.gz
    
    2、数据库中继续增加数据,然后删除数据库
        mysql>insert into test(name) values("oldboy5676666666");
        mysql>insert into test(name) values("oldboy5676666666");
        mysql>insert into test(name) values("oldboy5676666666");
        mysql>drop database oldboy;
    3、
        gzip -d bak_2016-08-11.sql.gz
        grep -i "change" bak_2016-08-11.sql 
            -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000017', MASTER_LOG_POS=107;
    4、恢复数据
        cp mysql-bin.000017 /opt/
        mysqlbinlog -d oldboy mysql-bin.000017 >bin.sql     只找和oldboy有关的库
        vim bin.sql 
            删除drop database oldboy
        mysql -uroot -p123456 <bak_2016-08-11.sql
        mysql -uroot -p123456 oldboy <bin.sql
    备份

    链接

  • 相关阅读:
    &和&&的区别
    AOP和IOC的实现原理(用到的设计模式)
    字符串里有数字和字符,如何只获取一种(以数字为例)
    maven的搭建
    java中递归的方法的实例
    从零开始学习oracle
    各个浏览器的webdriver
    “equals”有值 与 “==”存在 “equals”只是比较值是否相同,值传递,==地址传递,null==a,避免引发空指针异常,STRING是一个对象==null,对象不存在,str.equals("")对象存在但是包含字符‘''
    Oracle基础入门
    orcale => 含义
  • 原文地址:https://www.cnblogs.com/golangav/p/8584794.html
Copyright © 2011-2022 走看看