zoukankan      html  css  js  c++  java
  • 源码编译安装mysql

    1       概述

    首先来看下mysql的下载地址:

    http://ftp.plusline.de/mysql/Downloads/

    这里有mysql的各种版本

    操作系统:CentOS release 6.8 (Final)

    数据库版本:mysql-5.6.31

    2       规划

    Mysql程序主目录

    /mysql

    属组: mysql  属主:root   

    Mysql数据目录

    /data

    属组: mysql  属主:  mysql

    Mysql配置文件

    /mysql

    属组:mysql  属主:  root   

    Mysql端口号

    3306

    Sock

    /mysql/mysql.sock

    属组:mysql  属主:root   

    3       安装

    3.1     安装前准备

    首先要确定一下软件被安装:

    cmake,make,gcc,Perl,

    yum install cmake,make,gcc,Perl -y

    3.2     安装

    3.2.1     解压软件

    tar -zxvf mysql-5.6.31.tar.gz

    3.2.2     编译安装

    进入mysql目录

    cd mysql-5.6.31

    创建目录

    mkdir bootstarp

    配置编译配置的参数

    cmake ..  -DCMAKE_INSTALL_PREFIX = /mysql     The installation base directory.

    -DMYSQL_DATADIR = /data                       The location of the MySQL data directory.

    -DSYSCONFDIR=/mysql                           The default my.cnf option file directory.

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_ARCHIVE_STORAGE_ENGINE=1

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    -DMYSQL_TCP_PORT=3306                         The port number on which the server listens for TCP/IP connections. The default is 3306.

    -DMYSQL_UNIX_ADDR=/mysql/mysql.sock

    3.3     make并且make install

    make

    make install

    至此mysql安装完毕

    4       安装后的工作

    4.1     初始化数据目录

    cd mysql

    cp ./support-files/my-default.cnf my.cnf

    然后编辑mysql添加如下选择:

    basedir = /mysql

    datadir = /data

    port    = 3306

    socket  = /mysql/mysql.scok

    更改当前目录的权限

    chown  -R mysql .

    chgrp  -R mysql .

    初始化数据目录

    scripts/mysql_install_db --user=mysql

    4.2     最后更改安装目录权限

    也可以不更改

    4.3     启动mysql服务器

    shell> bin/mysqld_safe --user=mysql &

    4.4     测试mysql服务器

    shell> bin/mysqladmin version

    shell> bin/mysqladmin variables

    4.5     初始化mysql账号

        mysql安装完后,有root用户和匿名户,root用户没有密码,匿名用户表示任何人都可以连接上mysql,这是安全的。

        查看这些用户的语句如下:

    mysql> SELECT User, Host, Password FROM mysql.user;

     

    因此我们需要给root用户设置密码,给匿名用户设置密码,或者删除匿名用户。

    4.5.1     给root用户设置密码

    方法一.

    使用set命令为上边的每一个用户设置密码。

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('111111');
    set password for 'root'@'mysql.localdomain'=password('111111');
    set password for 'root'@'127.0.0.1'=password('111111');
    SET PASSWORD FOR 'root'@'::1' = PASSWORD('111111');

    方法二:

    我们也可以通过一条命令搞定。

    UPDATE mysql.user SET Password = PASSWORD('new_password')   WHERE User = 'root';
    FLUSH PRIVILEGES;

       flush privileges是告诉服务器去重读授权表,否则设置的用户名密码只有到mysql服务器重启后才可以生效。

    方法三.

    我们也可以通过mysqladmin来给root用户修改密码

    mysqladmin -u root password "new_password"
    mysqladmin -u root -h host_name password "new_password"
     

    4.5.2     给匿名用户设置密码

    方法一.

    set password for ''@'localhost'=password('111111');
    set password for ''@'mysql.localdomain'=password('111111');

    方法二.

    UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = '';
    FLUSH PRIVILEGES;

    4.5.3     删除匿名用户

    DROP USER ''@'localhost';
    DROP USER ''@' mysql.localdomain ';

    5       test安全问题

       默认情况下,mysql.db表里含了一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库,这是安全的,应该移除。

    DELETE FROM mysql.db WHERE Db LIKE 'test%';
    DELETE FROM mysql.db WHERE Db LIKE 'test%';

    或者删除test数据库,不建立以test开头的数据库。

  • 相关阅读:
    C#多线程之基础篇3
    C#多线程之基础篇2
    C#多线程之基础篇1
    Log4net入门(帮助类篇)
    Log4net入门(WCF篇)
    Log4net入门(ASP.NET MVC 5篇)
    Log4net入门(SQL篇)
    深入理解java:4.3. 框架编程之MyBatis原理深入解析
    深入理解java:4.2. 框架编程之Spring框架的设计理念
    深入理解java:4.1. 框架编程之Spring MVC
  • 原文地址:https://www.cnblogs.com/karmapeng/p/5844875.html
Copyright © 2011-2022 走看看