zoukankan      html  css  js  c++  java
  • 源码安装mysql-5.6.32.tar.gz

    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz

    安装依赖包:

    #yum install wget bison gcc gcc-c++ wget make cmake ncurses-devel libtool zilib-devel -y

    规划好目录:

    # mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,redo-log,undo-log},backup,scritps}
    [root@DB]# tree /data/
    servers/data/
    └── mysqldata
        ├── 3306
        │   ├── binlog
        │   ├── data
        │   ├── redo-log
        │   ├── tmp
        │   └── undo-log
        ├── backup
        └── scritps
    
    9 directories, 0 files

    创建mysql用户,授权

    #groupadd mysql
    #useradd -g mysql mysql
    [root@DB /]# chown mysql:mysql -R /data/mysqldata

    生成编译配置文件:

    [root@DB mysql-5.6.31]# cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.6.31 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCOMPILATION_COMMENT='JSS for mysqltest' -DWITH_READLINE=ON -DSYSCONFDIR=/data/mysqldata/3306 -DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

    上面的cmake是不能成功,初始化不能成功(下面的代码没问题):

    cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.6.31 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_EXTRA_CHARSETS:STRING=all 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DMYSQL_USER=mysql 
    -DMYSQL_TCP_PORT=3306
    DCMAKE_INSTALL_PREFIX mysql安装目录,这里指的是mysql软件的安装路径,
    DDEFAULT_CHARSET 指定mysql的字符集。
    DDEFAULT_COLLATION 指定mysql服务的默认校对规则。
    DENABLED_LOCAL_INFILE

    是否允许从客户端本地加载数据到Mysql服务端,专用于load data infile语句,默认不允许

    DWITH_*_STORAGE_ENGINE 静态编译某种存储引擎。*表示存储引擎名称,1表示开启。
    DCOMPILATION_COMMENT 编译信息,后面启动的时候会看到。
    DWITH_READLINE mysql输入输出的处理方式
    DSYSCONFDIR mysql参数文件的默认路径
    DMYSQL_UNIX_ADDR 套接字文件存储路径位置
    [root@DB mysql-5.6.31]# make && make install
    [root@DB mysql-5.6.31]# chown mysql:mysql -R /app/servers/mysql-5.6.31
    [root@DB mysql-5.6.31]# chown mysql.mysql /data/mysqldata/3306/my.cnf 
    [root@DB mysql-5.6.31]# ll -h /data/mysqldata/3306/my.cnf
    -rw-r--r-- 1 mysql mysql 1.6K Aug 17 19:13 /data/mysqldata/3306/my.cnf
    [root@DB mysql-5.6.31]# cat /data/mysqldata/3306/my.cnf 
    [client]
    
    port = 3306
    socket = /data/mysqldata/3306/mysql.sock
    
    #Mysql Server
    [mysqld]
    port = 3306
    user = mysql
    socket = /data/mysqldata/3306/mysql.sock
    pid-file = /data/mysqldata/3306/mysql.pid
    basedir = /app/servers/mysql-5.6.31
    datadir = /data/mysqldata/3306/data
    tmpdir = /data/mysqldata/3306/tmp
    open_files_limit = 512
    explicit_defaults_for_timestamp
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    #Buffer
    max_allowed_packet = 64M
    max_heap_table_size = 64M
    net_buffer_length = 8K
    sort_buffer_size = 2M
    join_buffer_size =4M
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    
    #Log
    log-bin = /data/mysqldata/3306/binlog/mysql-bin
    binlog_cache_size = 16m
    max_binlog_cache_size = 128m
    max_binlog_size = 128m
    binlog_format = row
    log_output = FILE
    log-error = ../mysql-error.log
    slow_query_log = 1
    slow_query_log_file = ../slow_query.log
    general_log = 0
    general_log_file = ../general_query.log
    expire-logs-days = 14
    
    #master-slave,这里先不做任何配置,下一个章节会讲到。
    server-id = 1 
    
    binlog-ignore-db = test
    
    replicate-ignore-db = test
    
    log-slave-updates=true
    
    
    
    #InnoDB
    innodb_data_file_path = libdata1:1024M:autoextend
    innodb_log_file_size = 32M
    innodb_log_files_in_group =6
    innodb_log_group_home_dir = /data/mysqldata/3306/redo-log/
    innodb_buffer_pool_size = 200M
    sync_binlog = 8
    
    #Undo Logs这里被我注释了,5.6版本undo可以拆分出来,用xtrabackup恢复有异常,就注释了。
    #innodb_undo_directory = /data/mysqldata/3306/undo-log/
    #innodb_undo_log = 64
    #innodb_undo_tablespaces = 16
    
    
    [mysql]
    no-auto-rehash
    prompt=(\u@\h) [\d]>\_
    [root@DB servers]# ls
    mfs  mysql-5.6.31
    [root@DB servers]# ln -s mysql-5.6.31/ mysql
    [root@DB servers]# ll
    total 8
    drwxr-xr-x.  6 root  root  4096 Jun 30 21:31 mfs
    lrwxrwxrwx   1 root  root    13 Aug 17 19:15 mysql -> mysql-5.6.31/
    drwxr-xr-x  13 mysql mysql 4096 Aug 17 19:01 mysql-5.6.31

    http://jiajinh.blog.51cto.com/2085098/1627966

    # /app/servers/mysql-5.6.31/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/app/servers/mysql-5.6.31
    /app/servers/mysql-5.6.31/my.cnf,/app/servers/mysql-5.6.31/my-new.cnf,/etc/my.cnf,如果这些文件存在,可以清除掉。就发现warning消失了

    启动数据库,我这里采用sale的方式启动:

    [root@ok servers]# /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
    [1] 25381
    [root@ok servers]# 160818 21:58:55 mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'.
    160818 21:58:56 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data

    查看启动状态:

    [root@ok log]# ps aux |grep mysqld
    root     25381  0.0  0.0 106232  1404 pts/0    S    21:58   0:00 /bin/sh /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf
    mysql    25926  1.0  3.8 1088212 455204 pts/0  Sl   21:58   0:01 /app/servers/mysql-5.6.31/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/app/servers/mysql-5.6.31 --datadir=/data/mysqldata/3306/data --plugin-dir=/app/servers/mysql-5.6.31/lib/plugin --user=mysql --log-error=/data/mysqldata/3306/data/../mysql-error.log --open-files-limit=512 --pid-file=/data/mysqldata/3306/mysql.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306
    root     26061  0.0  0.0 103308   876 pts/10   S+   22:00   0:00 grep mysqld
    [root@ok log]# /app/servers/mysql/bin/mysql 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.6.32-log Source distribution
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    (root@localhost) [(none)]> 

    关闭数据库:

    [root@ok log]# /app/servers/mysql/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown
    [root@ok log]# netstat -ano |grep 3306
    [root@ok log]# ps -el|grep mysql

    为保障安全性,修改root用户登录信息

    (root@localhost) [mysql]> select user,password,host from user;
    +------+----------+-----------+
    | user | password | host      |
    +------+----------+-----------+
    | root |          | localhost |
    | root |          | ok        |
    | root |          | 127.0.0.1 |
    | root |          | ::1       |
    |      |          | localhost |
    |      |          | ok        |
    +------+----------+-----------+
    6 rows in set (0.00 sec)

    删除所有账户信息,只保留本地登录:

    (root@localhost) [mysql]> delete from mysql.user where (user,host) not in (select 'root','localhost');
    Query OK, 5 rows affected (0.00 sec)
    (root@localhost) [mysql]> select user,password,host from user;                  
    +------+----------+-----------+ | user | password | host | +------+----------+-----------+ | root | | localhost | +------+----------+-----------+ 1 row in set (0.00 sec)
  • 相关阅读:
    JavaScript中的变量及数据类型
    EasyUI——常见用法总结
    MVC页面重定向'页面跳转
    window.location.href的用法
    MVC JsonResult的用法
    Knockoutjs快速入门(经典)
    Knockoutjs的环境搭建教程
    4位双扫描、8位单扫描
    存储周期(存取周期)
    c语言中static、extern、void的重载
  • 原文地址:https://www.cnblogs.com/bass6/p/5784824.html
Copyright © 2011-2022 走看看