美文网首页
Mysql 5.5 安装

Mysql 5.5 安装

作者: 心水Diana | 来源:发表于2019-03-18 17:06 被阅读0次
    MySQL安装
    • YUM安装
      yum  install  mysql-server  mysql-devel  mysql-libs  -y  #CentOS6.x YUM安装
      yum  install  mariadb-server mariadb mariadb-libs -y  CentOS7.x YUM安装
    
    • 源码安装
      wget -y https://mirrors4.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5/mysql-5.5.60.tar.gz
      # 依赖库安装
      yum  install  cmake  make  ncurses-devel ncurses -y 
      yum install gcc gcc-c++
      yum install -y bison
      yum install -y git
      #
      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
      -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
      -DMYSQL_DATADIR=/data/mysql/ \
      -DSYSCONFDIR=/etc \
      -DMYSQL_USER=mysql \
      -DMYSQL_TCP_PORT=3306 \
      -DWITH_XTRADB_STORAGE_ENGINE=1 \
      -DWITH_INNOBASE_STORAGE_ENGINE=1 \
      -DWITH_PARTITION_STORAGE_ENGINE=1 \
      -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
      -DWITH_MYISAM_STORAGE_ENGINE=1 \
      -DWITH_READLINE=1 \
      -DENABLED_LOCAL_INFILE=1 \
      -DWITH_EXTRA_CHARSETS=1 \
      -DDEFAULT_CHARSET=utf8 \
      -DDEFAULT_COLLATION=utf8_general_ci \
      -DEXTRA_CHARSETS=all \
      -DWITH_BIG_TABLES=1 \
      -DWITH_DEBUG=0
    
      make
      make install
    
    

    • 安装参数解释
        cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56   Cmake预编译路径;
        -DMYSQL_UNIX_ADDR=/tmp/mysql.sock       MYSQL Socket通信文件位置;
        -DMYSQL_DATADIR=/data/mysql                     MYSQL数据存放路径;
        -DSYSCONFDIR=/etc                                   配置文件路径; 
        -DMYSQL_USER=mysql                              MYSQL运行用户;  
        -DMYSQL_TCP_PORT=3306                           MYSQL监听端口;
        -DWITH_XTRADB_STORAGE_ENGINE=1              开启xtradb引擎支持;
        -DWITH_INNOBASE_STORAGE_ENGINE=1            开启innodb引擎支持;
        -DWITH_PARTITION_STORAGE_ENGINE=1           开启partition引擎支持;
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1           开启blackhole引擎支持;
        -DWITH_MYISAM_STORAGE_ENGINE=1              开启MyISAM引擎支持;
        -DWITH_READLINE=1                               启用快捷键功能;
        -DENABLED_LOCAL_INFILE=1                        允许从本地导入数据;
        -DWITH_EXTRA_CHARSETS=1                         支持额外的字符集;
        -DDEFAULT_CHARSET=utf8                          默认字符集UTF-8; 
        -DDEFAULT_COLLATION=utf8_general_ci                 检验字符;   
        -DEXTRA_CHARSETS=all                        安装所有扩展字符集;
        -DWITH_BIG_TABLES=1                         将临时表存储在磁盘上;
        -DWITH_DEBUG=0                              禁止调试模式支持;   
        make                                                编译; 
        make install                                            安装。
    
    
    • 源码方式服务启动
      cd /usr/local/mysql
      mkdir –p  /data/mysql
      useradd  mysql
      chown -R mysql.mysql /data/mysql
      chown -R mysql.mysql /usr/local/mysql 
      cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
    
      # 数据库初始化
      /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/
      # 安全模式启动 & 后台运行
      /usr/local/mysql/bin/mysqld_safe --user=mysql &
      #软连接
      ln -s /usr/local/mysql/bin/* /usr/bin/
    
    • 系统服务方式启动
       #编辑systemctl 启动脚本
       #CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/system ,/usr/lib/systemd/user
       cd /usr/lib/systemd/system
       mkdir –p  /data/mysql
       useradd  mysql
       chown -R mysql.mysql /data/mysql
       chown -R mysql.mysql /usr/local/mysql 
       cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
       
       # 在配置文件添加报错日志路,并修改文件为 mysql.mysql
       vim /etc/my.cnf
       #添加[mysqld] log-error=/var/log/mysql/mysql.err 
       
       # 数据库初始化
      /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/
      
       vim mysqld.service # 文件名就是服务启动名
       systemctl daemon-reload
       systemctl enable mysqld
       systemctl start mysqld
       # 路径自行修改
    [Unit] 
       Description=MySQL Community Server
       After=network.target
       After=syslog.target
    [Install]
       WantedBy=multi-user.target
       Alias=mysql.service
    [Service]
       User=mysql
       Group=mysql
       # Execute pre and post scripts as root
       PermissionsStartOnly=true
       # Needed to create system tables etc.
       #ExecStartPre=/usr/bin/mysql-systemd-start pre
       # Start main service
       ExecStart=/usr/local/mysql/bin/mysqld_safe
       # Don't signal startup success before a ping works
       #ExecStartPost=/usr/bin/mysql-systemd-start post
       # Give up if ping don't get an answer
       TimeoutSec=600
       Restart=always
       PrivateTmp=false
       # 参考yum mysql安装的 mysqld.service 服务脚本
    
    • 脚本参数
         [Unit]
         Description : 服务的简单描述
         Documentation : 服务文档
         After= : 依赖,仅当依赖的服务启动之后再启动自定义的服务单元
         [Service]
         Type : 启动类型simple、forking、oneshot、notify、dbus
            Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。 
            Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。 
            Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。 
            Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。 Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
    
         PIDFile : pid文件路径,对应程序的.  
         ExecStartPre :启动前要做什么.
         ExecStart:启动 
         ExecReload:重载 
         ExecStop:停止 
         PrivateTmp:True表示给服务分配独立的临时空间
         [Install]
         WantedBy:服务安装的用户模式
    

    相关文章

      网友评论

          本文标题:Mysql 5.5 安装

          本文链接:https://www.haomeiwen.com/subject/yybvmqtx.html