zoukankan      html  css  js  c++  java
  • mysql安装管理 -> 编译&yum_02

    首先 mysql5.7是目前的主流稳定版本,下载地址可以参考官网下载  --- >  官网下载点我

    笔记为markdown模式,博客园不太兼容,详细内容参考  ---  有道云笔记点我

    mysql的安装方式:

      1.yum 安装 :安装方便、安装速度快,无法定制

      2.通用安装(二进制):不需要安装,解压即可使用,不能定制功能

      3.编译安装:可定制,安装慢。

        注意:

          5.5之前:./configure make make install

          5.5之后:cmake   gmake  

      4.先编译,然后制作rpm,制作yum库,然后yum安装。

         简单、速度快、可定制,比较复杂,制作时间长


     

    二进制安装

    依赖

    yum install libaio-devel perl-Module-*

    tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    mv mysql-5.7.17-linux-glibc2.5-x86_64 /application/mysql-5.7.17

    ln -s /application/mysql-5.7.17 /application/mysql


    mysql 5.7编译安装

    环境准备:

    [root@db01 ~]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)

    [root@db01 ~]# uname -a
    Linux db01 3.10.0-862.el7.x86_64

    1. 下载

    mkdir  /server/tools -p   创建工具目录

    下载带有boost的mysql-5.7.20(默认版本为1.59版本)

    官方自带(boost版本mysql)--->推荐使用mysql官方版本 
    wget
    https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz

    tar xf mysql-boost-5.7.20.tar.gz   解压下载之后的包

    2. 安装依赖包

    源码安装mysql需要依赖  cmake  boost

    yuminstall -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel 

    3. 创建关键目录

    mkdir /usr/local/mysql
    mkdir /usr/local/mysql/mydata
    mkdir /usr/local/mysql/conf
    useradd mysql
    chown -R mysql:mysql /usr/local/mysql*

    4. cmake进行预编译

    cd mysql-5.7.20/     切换进目录再进行如下操作

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DMYSQL_DATADIR=/usr/local/mysql/mydata  
    -DSYSCONFDIR=/usr/local/mysql/conf 
    -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DMYSQL_UNIX_ADDR=/usr/local/mysql1/mysql.sock 
    -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all 
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 
    -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled 
    -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost

    注意:

    -DWITH_SYSTEMD=1     //是否支持sysytemd方式管理mysql
    -DDOWNLOAD_BOOST=1   //自动下载boost软件支持
    -DWITH_BOOST=./boost //本地boost目录
    
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     #指定安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/mydata              #数据路径
    -DSYSCONFDIR=/usr/local/mysql/conf                 #配置文件
    -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1     #管理用户
    -DWITH_INNOBASE_STORAGE_ENGINE=1             #是否开启存储引擎支持
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock         #套接字文件
    -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all       #端口号
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci     #默认字符集和校对规则
    -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 
    -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled         #是否支持SSL
    -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost

     5. 进行编译安装

    make && make install :等待时间较长

    安装完成后:

    执行echo $? 查看是否成功

    初始化数据:初始化管理员密码为空

    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql/mydata --basedir=/usr/local/mysql 

    书写基础配置文件

    vim /etc/my.cnf

    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/mydata
    socket=/tmp/mysql.sock
    log_error=/var/log/mysql.log
    user=mysql
    [client]
    socket=/tmp/mysql.sock

    启动mysql

    touch /var/log/mysql.log
    chown -R mysql.mysql /var/log/mysql.log
    
    cd  /usr/local/mysql/support-files   //切换到启动目录
    
    vim  mysql.server     
    替换所有 mysqld_safe 为 mysqld
    方法:#s#mysqld_safe#mysqld#g
    
    ./mysql.server start      //启动Mysql

    检查端口是否开启

    编译安装 -> 优化

    使用systemctl启动

    注意:如果之前用其它方式开启过,请先关闭,之后在用如下方式启动。

    vim /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://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=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000

    使用systemcrl status  mysqld 查看

    环境变量设置(无密码登录)

    tail -1 /etc/profile
    export PATH=/usr/local/mysql/bin:$PATH
    
    source /etc/profile    //生效
    
    mysql   //直接使用mysql登录

    将密码改为空

    update mysql.user set authentication_string=PASSWORD('') where user='root' and host='localhost';
    flush privileges;    //立即生效
    或者重启数据库也会生效。
    
    注意: mysql.user 在每次数据库启动时会自动加载到内存,如果使用update语句直接修改表内容,mysql不会立即将变化更新内存,需要手工触发。 

    设置密码登录

    [root@oldboy ~]# mysqladmin password
    New password:    //新密码
    Confirm new password:  //再次输入
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.  //警告
    
    [root@oldboy ~]# mysql -uroot -p123  //使用密码登录

    已有密码,重设密码

    [root@oldboy ~]# mysqladmin -uroot -p password
    Enter password:  //老密码
    New password:       //新密码
    Confirm new password: //再次输入
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

    忘记密码怎么办?

    --skip-grant-tables     ----> 跳过授权表(mysql.user)
    --skip-networking       ----> 跳过网络用户连接
    
    如何使用?
    (1) 停数据库
    systemctl  stop mysqld
    
    (2)跳过授权表启动数据库
    mysqld --skip-grant-tables --skip-networking  &     //加 & 是后台运行
    然后可以用  mysql  就可以无密码登录
    
    (3)修改密码
     update mysql.user set authentication_string=PASSWORD('123456') where user='root' and host='localhost';
    
    (4)停库,然后正常启动
    mysqladmin shutdown 
    systemctl start mysqld
    [root@oldboy ~]# mysql -uroot -p123456     // 可以用新密码登录

         

  • 相关阅读:
    UVA 1513
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:.geodatabase创建,创建时内容缺失问题总结
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:使用TextSymbol做标注显示乱码
    《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
    《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析
    《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
    《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
    《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
    《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
    《ArcGIS Runtime SDK for Android开发笔记》——(1)、Android Studio下载与安装
  • 原文地址:https://www.cnblogs.com/tim1blog/p/9754037.html
Copyright © 2011-2022 走看看