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






  • 相关阅读:
    Zookeeper全解析——Paxos作为灵魂(转)
    你真的会开发测试框架?
    使用Hypothesis生成测试数据
    poium测试库之JavaScript API封装原理
    PHP接口自动化测试框架实现
    Web项目如何做单元测试
    如何在Appium中使用AI定位
    我写了个项目,帮你学习HTTP接口测试!
    性能测试浅谈
    Web测试框架SeleniumBase
  • 原文地址:https://www.cnblogs.com/flyhgx/p/6367968.html
Copyright © 2011-2022 走看看