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

    如果是mysql系列的直接使用编译安装,不用cmake,这里用源码安装的方式
    1)安装cmake编译工具

        yum install cmake -y

    2)下载MySQL

        wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.6/

    3)安装依赖

        yum install ncurses-devel –y   # 用于终端操作的开发包 

    4)添加用户

    useradd -u 8001 -s /sbin/nologin mysql

    5)创建数据库存放目录

    mkdir /data

    6)编译安装

     cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data -DMYSQL_USER=mysql

    参数说明:

    -DCMAKE_INSTALL_PREFIX   #数据文件存放目录
    -DMYSQL_UNIX_ADDR        # sock文件路径
    -DDEFAULT_CHARSET       #默认字符集
    -DDEFAULT_COLLATION     #默认字符校对
    -DWITH_EXTRA_CHARSETS   #扩展字符支持  默认all
    -DWITH_storage_STORAGE_ENGINE   # 存储引擎的支持,默认支持MyISAM,MERGE,MEMORY,CVS存储引擎
    -DENABLED_LOCAL_INFILE=1   # 启用加载本地数据
    -DMYSQL_DATADIR         # 数据存放目录
    -DMYSQL_USER            #   mysql运行用户
    扩展:
    -DWITH_PARTITION_STORAGE_ENGINE=1   #支持分区表
    -DINSTALL_LIBDIR=dir_name
    -DSYSCONFDIR=dir_name    The default my.cnf option file directory
     make -j 4 && make install   #-j 4 是指使用4个cpu核心数,如我们的双核四线程,就可以写4

    7)授权用户

    chown -R mysql:mysql  /usr/local/mysql/
    chown –R mysql:mysql /data
     chmod 1777 /tmp

    8)创建配置文件

        cp support-files/my-large.cnf /etc/my.cnf

    9)设置环境变量

     echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
      source !$

    10)创建服务启动脚本,添加开机启动

        cp support-files/mysql.server /etc/init.d/mysqld
        chmod +x /etc/init.d/mysqld           #给脚本添加执行权限
        vim /etc/init.d/mysqld            #服务启动脚本要修改以下两个参数
            basedir=/usr/local/mysql      # MySQL安装目录
            datadir= /data                #数据存放目录
            chkconfig mysqld on         #添加开机启动

    11)初始化数据库

        chmod +x scripts/mysql_install_db
        /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql

    看到两个ok就成功

    12)初始化安全配置

    #需要先启动MySQL
        mysql_secure_installation  # 安全初始化配置

    13)排错
    出现这种错误

      Enter current password for root (enter for none):
        ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
       # 干掉mysql进程
        pkill mysqld
        rm -rf  /data/*
    重新初始化
    

    13)MySQL安全优化小配置
    用户安全

        mysql> select user,host from mysql.user;
        mysql> delete from mysql.user where user='';
        mysql> delete from mysql.user where host='server01.cn';
    mysql> delete from mysql.user where host='::1';
    mysql> select user,host from mysql.user;
        +------+-----------+
        | user | host      |
        +------+-----------+
        | root | 127.0.0.1 |
        | root | localhost |

    或者把用户都删了,添加一个额外的管理员

     mysql> delete from mysql.user;
        mysql> grant all privileges on *.* to system@'localhost' identified by '123456' with grant option;
        mysql> flush privileges;
        mysql> select user,host from mysql.user;
        +--------+-----------+
        | user   | host      |
        +--------+-----------+
        | system | localhost |
        +--------+-----------+
        1 row in set (0.00 sec)
    
         mysql> drop database test;

    如果我们把MySQL密码忘记了
    mysql配置文件/etc/my.cnf

    #在【mysqld】下面添加一行代码:
    skip-grant-table #这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
    
    service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
    mysql -uroot -p  //此时直接回车,既可以进入数据库。
    出现mysql>就说明你已经进入到mysql数据库里了。
    
    #进数据库后,
    use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
    show tables  //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。
    desc user  //查看下user表有哪些字段
    
    #更改root密码。
    update user set password=password('123456') where user="root";  //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。
     flush privileges;   //刷新下密码,使更改的生效。
    exit  //退出数据库。
    
    
    mysql -uroot -p   //回车输入刚刚更改的密码,就能进去了。
    然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。



    Mysql 5.7.17源码安装方法

     

    环境:
    Centos 6.6 64位
    mysql 5.7.17

     

    1、安装依赖包

    yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

    2、安装boost库(对应版本高于或低于这个版本都有问题)

    wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    
    tar zxvf  boost_1_59_0.tar.gz 
    mv boost_1_59_0 /usr/local/boost

    3、添加mysql用户组

    useradd mysql

    4、下载mysql源码包并安装

    复制代码
    wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
    
    tar zxvf mysql-5.7.17.tar.gz
    cd mysql-5.7.17
    cmake -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
    
    make && make install
    复制代码


    5、初始化数据库

    /home/mysql/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

    注:初始化后会生成默认密码,请记录下来
    2016-02-17T03:16:36.869627Z 1 [Note] A temporary password is generated for root@localhost: kci!&lc?s8wE

    6、调整配置文件

    mv /etc/my.cnf /etc/my.cnf.bak
    cp /home/mysql/support-files/my-default.cnf /etc/my.cnf

    7、启动mysql

    /home/mysql/bin/mysqld_safe &

    8、访问数据库

    mysql -uroot -p

    9、修改默认密码(不修改默认密码,将不能正常使用sql,必须修改)

    alter user 'root'@'localhost' identified by '123456';

    还需要再设置一次密码,就能够正常访问

    mysql> set password= password('mysql');

    参考文档:
    http://www.linuxidc.com/Linux/2015-12/126846.htm






  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/flyhgx/p/6367968.html
Copyright © 2011-2022 走看看