zoukankan      html  css  js  c++  java
  • Linux上安装mysql

    Linux上安装mysql

    数据库的种类:

    1.关系型数据库(RDBMS):
      MySQL,Oracle,MSSQL(SQLserver)
    2.非关系型数据库(NoSQL):
      Redis,Memcache,MongoDB,elasticsearch

    MySQL的版本选择潜规则:

      官方网站:https://www.mysql.com/

      MySQL5.6:
        1.选择GA 6-12个月
        2.小版本号为偶数版

      MySQL5.7
        1.选择GA 6-12个月
        2.小版本号为偶数版
        3.MySQL5.7.17以上版本   MGR

     

    1.安装源码版
      1.解压
        [root@db01 ~]# tar xf mysql-5.6.40.tar.gz
      2.进入目录
        [root@db01 ~]# cd mysql-5.6.40
        [root@db01 mysql-5.6.40]# ll
      3.生成编译文件

      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.40
      -DMYSQL_DATADIR=/usr/local/mysql-5.6.40/data
      -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.40/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

        #程序存放位置
      cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38
      #数据存放位置
      -DMYSQL_DATADIR=/application/mysql-5.6.38/data
      #socket文件存放位置
      -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock
      #使用utf8字符集
      -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
      #启用zlib库支持(zib、gzib相关)
      -DWITH_ZLIB=bundled
      #启用SSL库支持(安全套接层)
      -DWITH_SSL=bundled
      #启用本地数据导入支持
      -DENABLED_LOCAL_INFILE=1
      #编译嵌入式服务器支持
      -DWITH_EMBEDDED_SERVER=1
      # mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
      -DENABLE_DOWNLOADS=1
      #禁用debug(默认为禁用)
      -DWITH_DEBUG=0

     

      4.编译
        make
      5.安装
    ​     make install

     

      安装二进制版

        二进制安装后需要先将解压完的文件移动到/usr/local/mysql-5.6.40

        mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40

     

      6.进入mysql程序目录
        [root@db02 ~]# cd /usr/local/mysql-5.6.40/
      7.创建mysql系统用户
        [root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M
      8.进入配置文件及脚本目录
        [root@db02 mysql-5.6.40]# cd support-files/
      9.拷贝配置文件到etc
        [root@db01 support-files]# cp my-default.cnf /etc/my.cnf
        cp: overwrite ‘/etc/my.cnf’? y
      10.拷贝启动脚本
        [root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
      11.进入初始化目录
        [root@db01 mysql-5.6.40]# cd /usr/local/mysql-5.6.40/scripts/
      12.初始化数据库
        [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.40 --datadir=/usr/local/mysql-5.6.40/data
      13.做软连接
    ​     [root@db02 scripts]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql
      14.启动mysql
        [root@db02 scripts]# /etc/init.d/mysqld start

        Starting MySQL.Logging to '/usr/local/mysql/data/db02.err'.
        . SUCCESS!

      15.添加环境变量
        [root@db02 scripts]# vim /etc/profile
        export PATH="/usr/local/mysql/bin:$PATH"
    ​   16.加载环境变量
        [root@db02 scripts]# source /etc/profile
      17.授权
        [root@db01 scripts]# chown  -R mysql.mysql /usr/local/mysql*
      18.连接mysql
        [root@db02 scripts]# mysql
      19.设置mysql密码
        [root@db02 scripts]# mysqladmin -uroot -p password 123
      20.连接mysql
        [root@db01 scripts]# mysql -uroot -p123

     

      安装源码版的时候:
        注意:
    ​     如果报错可以去 tail -100 /usr/local/mysql/data/db02.err这里查看报错

     

    mysql基础优化:

    1.删除 没有用的库
    mysql> show databases;
    mysql> drop database test;
    Query OK, 0 rows affected (0.00 sec)

    2.删除没有用的用户
    mysql> select user,host from mysql.user;
    mysql> drop user root@'::1';
    Query OK, 0 rows affected (0.00 sec)
    mysql> delete from mysql.user where user='root' and host='db01';

     

      配置多个数据库实现主从复制时数据库的配置:
    ​     [root@db01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
        配置时注意IP和网关:

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"
    DEFROUTE="yes"
    NAME="eth0"
    DEVICE="eth0"
    ONBOOT="yes"
    IPADDR="10.0.0.51"
    PREFIX="24"
    GATEWAY="10.0.0.2"
    DNS1="223.5.5.5"

     

    Linux换源:(阿里云)
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

     

    要想直接将压缩文件拖到Linux中:需安装
    ​     yum install -y lrzsz
    虚拟机优化:
    ​   systemctl stop firewalld      关闭防火墙
    ​  systemctl disable firewalld
    ​   [root@db01 mysql-5.6.40]# getenforce   查看数据库的安全权限
    ​   [root@db01 mysql-5.6.40]# setenforce 0  修改安全权限,不修改很多东西不能实现
    ​   [root@db03 ~]# vim /etc/sysconfig/selinux  修改上述的权限,配置文件中修改,永久修改,上面只是临时的
    ​   sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux     这条命令是不进入文件替换配置文件

     

  • 相关阅读:
    筛选法 || POJ 1356 Prime Land
    搜索 || BFS || POJ 3278 Catch That Cow
    (素数筛) 找质数
    (map)后缀字符串
    字符串的进制
    (二进制枚举子集)买玩具
    (基础)01背包问题
    (基础)编辑距离
    (基础)最长公共字串
    最大子矩阵和
  • 原文地址:https://www.cnblogs.com/5j421/p/10834388.html
Copyright © 2011-2022 走看看