zoukankan      html  css  js  c++  java
  • MySQL(一)安装

    一.源码包安装

    1. 安装依赖

    [root@db02 ~]# yum install -y ncurses-devel libaio-devel cmake glibc autoconf gcc-c++

    2. 上传包或者在网站获取安装地址

    3. 解压

    [root@db02 ~]# tar xf mysql-5.6.42.tar.gz

    4. 生成

    # 进入MySQL目录

    [root@db02 ~]# cd mysql-5.6.42/

    # 创建安装目录(指定安装目录)

    [root@db02 ~/mysql-5.6.42]# mkdir /service

    ##生成
    [root@db02 mysql-5.6.42]#

    #程序存放位置
    cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.42
    #数据存放位置
    -DMYSQL_DATADIR=/service/mysql-5.6.42/data
    #socket文件存放位置
    -DMYSQL_UNIX_ADDR=/service/mysql-5.6.42/data/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


    完整生成命令:

    [root@db02 mysql-5.6.42]#  cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.42
    -DMYSQL_DATADIR=/service/mysql-5.6.42/data
    -DMYSQL_UNIX_ADDR=/service/mysql-5.6.42/data/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

    5. 编译安装

    [root@db02 ~/mysql-5.6.42]# make && make install

    6. 做软链接 (方便+安全)

    [root@db02 ~]# ln -s /service/mysql-5.6.42 /service/mysql

    7. 创建启动用户

    [root@db02 ~]# useradd mysql -s /sbin/nologin -M

    8. 拷贝启动文件和配置文件

    [root@db02 ~]# cd /service/mysql/support-files/

    [root@db02 /service/mysql/support-files]# cp my-default.cnf /etc/my.cnf
    cp: overwrite '/etc/my.cnf'?  y

    [root@db02 /service/mysql/support-files]# cp mysql.server /etc/init.d/mysqld

    9.初始化

    [root@db02 ~]# cd /service/mysql/scripts/
    [root@db02 /service/mysql/scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql --datadir=/service/mysql/data

    10.配置system管理启动mysql

    [root@db03 ~]# vim /usr/lib/systemd/system/mysqld.service

    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/service/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000

    [root@db03 ~]# systemctl daemon-reload    

    11.启动数据库

    [root@db02 /service/mysql/scripts]# systemctl start mysqld
    [root@db02 /service/mysql/scripts]# netstat -lntp

    二:二进制安装MySQL

    1.安装依赖

    [root@db03 ~]# yum install -y ncurses-devel libaio-devel cmake glibc autoconf gcc-c++

    2.上传包或者在网站获取安装地址

    3. 解压

    [root@db03 ~]# tar xf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

    4.创建自定义安装目录

    [root@db03 ~]# mkdir /service

    5. 移动并改名

    [root@db03 ~]# mv mysql-5.6.42-linux-glibc2.12-x86_64 /service/mysql-5.6.42

    6.做软链接

    [root@db03 ~]# ln -s /service/mysql-5.6.42 /service/mysql

    7.创建启动用户

    [root@db03 ~]# useradd mysql -s /sbin/nologin -M

    8.拷贝启动文件和配置文件

    [root@db03 ~]# cd /service/mysql/support-files/
    [root@db03 /service/mysql/support-files]# cp my-default.cnf /etc/my.cnf
    cp: overwrite '/etc/my.cnf'? y
    [root@db03 /service/mysql/support-files]# cp mysql.server /etc/init.d/mysqld

    9.初始化

    [root@db03 ~]# cd /service/mysql/scripts/
    [root@db03 /service/mysql/scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql --datadir=/service/mysql/data

    10.配置system管理启动

    [root@db03 ~]# vim /usr/lib/systemd/system/mysqld.service

    [root@db03 ~]# vim /usr/lib/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/service/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000

    [root@db03 ~]# systemctl daemon-reload

    11.启动数据库

    #1.使用system启动

    [root@db03 ~]# systemctl start mysqld #查看进程启动失败,没有任何报错

    #2.使用mysqld启动脚本启动
    [root@db03 ~]# /etc/init.d/mysqld start
    /etc/init.d/mysqld: line 244: my_print_defaults: command not found
    /etc/init.d/mysqld: line 264: cd: /usr/local/mysql: No such file or directory
    Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
    #原因:二进制的包是源码包已经生成编译安装完成的,在cmake阶段已经指定了所有的目录都是/usr/local/mysql,所以启动时所有程序都去找/usr/local/mysql目录,没有该目录,所以启动失败

    #3.解决启动问题
    1)方法一:做软连接
    [root@db03 ~]# ln -s /service/mysql /usr/local/mysql

    2)方法二:修改启动文件
    [root@db03 ~]# vim /etc/init.d/mysqld
    basedir=/service/mysql
    datadir=/service/mysql/data

    #4.再次测试启动
    [root@db03 ~]# /etc/init.d/mysqld start
    Starting MySQL. SUCCESS!
    #或者
    [root@db03 ~]# systemctl start mysqld

    12 设置环境变量

    [root@db03 ~]# vim /etc/profile.d/mysql.sh

    export PATH=/service/mysql/bin:$PATH

    [root@db03 ~]# source /etc/profile

     

  • 相关阅读:
    configure.ac:91: error: possibly undefined macro: AC_SEARCH_LIBS
    debian上安装tmux
    ssh: Bad configuration option: usedns
    mysql启动失败“MySQL Daemon failed to start”
    批量查询文件的编码格式
    mysql计算QPS
    网络资源汇总
    jQuery Mobile + HTML5
    配置SQL Server 2008 R2 Reporting Services
    分享一个C#创建Barcode的DLL
  • 原文地址:https://www.cnblogs.com/wzj-qwerty/p/13887504.html
Copyright © 2011-2022 走看看