zoukankan      html  css  js  c++  java
  • yum安装之-安装mysql

        ## 源码 编译安装 Mysql  以 mysql-5.7.15.tar.gz 为例
        安装中涉及的几点需要提前说明的问题:
        所有下载的文件将保存在 /root 目录下
        mysql 将以 mysql 用户运行,而且将加入 service 开机自动运行
        mysql 将被安装在 /usr/local/mysql/ 目录下
        mysql 默认安装使用 utf8 字符集
    mysql 的数据和日志文件保存在 /usr/local/mysql/data/ 目录下
        mysql 的配置文件保存于/usr/local/mysql/etc/my.cnf
        注意从 MySQL 5.7.5 开始 Boost 库是必需的
    安装依赖包
    yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
    、、、安装依赖库
        、、安装 cmake 和 bison
    yum install -y cmake bison ncurses
        、、下载 Boost
    wget http://ncu.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
        、、解压
    tar zxf boost_1_59_0.tar.gz
        、、移动
    mv boost_1_59_0 /usr/local/boost

        ##建立 mysql 安装目录和用户,
    mkdir -pv /usr/local/mysql
        、、、在/usr/local/mysql 建立【data】、【tmp】、【log】、【etc】4 个目录
    cd /usr/local/mysql
    mkdir data tmp log etc
        、、建立组和用户
    groupadd mysql
    useradd -g mysql -s /usr/sbin/nologin mysql
        、、、下载 mysql
    cd ~
    wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz
        、、、解压并进入目录
    tar zxf mysql-5.7.16.tar.gz
    cd mysql-5.7.16    
        、、、编写一个辅助 shell 文件,帮我们配置 mysql
    vim mysql_install.sh
        、、、以下内容都写在一行上,不要换行
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_DEBUG=0 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/boost
        、、、把刚刚的 shell 文件加上可执行权限:
    chmod +x ./mysql_install.sh
        、、、执行 shell 文件进行软件的配置和环境检测
    ./mysql_install.sh
        、、、编译软件并且进行安装
    make && make install
    出错停止。。。。。。
    另外如果过程中出现报错而中断,需
    要删除 CMakeCache.txt 文件后再执行 mysql_install.sh 文件(没出错请不要执行以
    下两行指令!!!!):
    make clean
    rm -f CMakeCache.txt 或者 shell>#  unlink CMakeCache.tx

    ##############################配置########################

    。。。。使用递归,把 mysql 目录所有者设置为 mysql 这个用户:
    chown -R mysql:mysql /usr/local/mysql

    。。。。如果 /etc/my.cnf 存在的话,请删除
    unlink /etc/my.cnf

    。。。。进入 MySQL 安装目录下
    cd /usr/local/mysql

    。。。。重建 my.cnf 文件
    cp support-files/my-default.cnf etc/my.cnf

    。。。。根据实际情况优化 mysql 配置
    vim etc/my.cnf

    比如将 my.cnf 的内容改成以下:
    [client]
    default-character-set = utf8
    port = 3306
    socket = /usr/local/mysql/tmp/mysql.sock
    [mysqld]
    datadir =/usr/local/mysql/data
    port = 3306
    socket = /usr/local/mysql/tmp/mysql.sock
    user = mysql
    symbolic-links = 0
    pid-file = /usr/local/mysql/tmp/mysql.pid
    explicit_defaults_for_timestamp = true
    sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
    slow_query_log = on
    slow_query_log_file = /usr/local/mysql/log/slow.log
    long_query_time = 2
    log_error = /usr/local/mysql/log/mysql.err

     第 四 步:
    。。。。 初始化 mysql 的基本表
    。。5.7 以前的做法:
    /usr/local/mysql/scripts/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    。。。。5.7 及以上的做法:
    ;;;;--initialize 会生成一个随机密码(~/.mysql_secret),而--initialize-insecure 不会生成密码
    /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    。。。。启动 mysql
    /usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &

    。。。。修改 mysql 的 root 密码
    /usr/local/mysql/bin/mysqladmin -u root password 密码

    。。。。增加到开机启动
    ;;;;先将 mysqld 设置为服务
    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

    。。。。然后将 mysqld 服务加入启动项:
    chkconfig --add mysqld

    。。。。设置为自启动:
    chkconfig --level 345 mysqld on

    。。。。将 mysql 命令加入到环境变量里
    PATH=$PATH:/usr/local/mysql/bin

    。。。。为了重启后仍能有效:
    echo 'PATH=$PATH:/usr/local/mysql/bin' >> /root/.bashrc

    。。。。如果需要对外开放 3306 端口
    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    。。。。如果 mysqld 服务正常运行中,但是执行 mysql 指令时报出以下错误
    ::error 2202 (HY000):can't connent ....
    解决方案就是创建一个软链接
    mkdir -pv /var/lib/mysql
    ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock

     

  • 相关阅读:
    Spring的AOP与代理
    JAVA 反射机制
    JDK动态代理与Cglib库
    HDFS的运行原理(转)
    Spring中IoC的入门实例
    spring
    Spring中IOC和AOP的详细解释
    自己动手写ORM
    Mongodb 安装
    mongodb集群配置分片集群
  • 原文地址:https://www.cnblogs.com/donaldworld/p/6815141.html
Copyright © 2011-2022 走看看