zoukankan      html  css  js  c++  java
  • linux -- 部署java服务器(2) linux安装mysql

    前言

      本系列(部署java服务器)一共由四个部分组成

      1.安装jdk

      2.安装mysql

      3.安装redis

      4.安装nginx

      mysql8源码版是无需make的,它的使用步骤是:下载-》解压-》第一次启动配置-》启动

      完全按照本文配置是不会抛出任何异常的,如果出现了异常,请优先检查配置文件,90%的可能是配置项是拼写错误。(血的教训)

    1进入目标文件夹

    //创建mysql文件
    mkdir  /opt/mysql
    //进入mysql 文件,并在文件下创建两个文件目录db_data
    cd /opt/mysql
    mkdir db_data //这个用来存储我们的数据库文件,稍后会用到

    2下载

      我们下载最新版的8版本mysql下载官网

    //在 /opt/mysql 中下载mysql8.0源码
    mwget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz //这里使用mwget 下载更快,如何去安装mwget,我的上一篇文章有写

    3解压

    tar mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz //解压
    mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql //改个名字,方便操作 一定要下载与自己系统版本对应的包

    4增加初始化mysql的配置文件

    //第一次启动mysql之前必需要进行初始化。初始化需要的参数可以通过在新建一个/etc/my.cnf 文件来赋予
    //新建一个my.cnf文件 这一步可以在window上先编写好之后,在通过ftp工具放在etc目录下
    #请注意这里是mysql(l是L的小写不是i的大写I)d
    [mysqld]
    # 指定当前mysql用户
    user=root
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录--也就是你的mysql安装包的解压目录
    basedir=/opt/mysql/mysql
    # mysql数据存放位置
    datadir=/opt/mysql/db_data
    # 确保在整个Mysql集群中唯一
    server-id = 1                             
    # 日志存放位置
    log-bin = /opt/mysql/logs/mysql-bin.log     
    log-bin-index = binlog.index
    # 错误信息存放位置
    log-error = /opt/mysql/err-logs/mysql_error.log #临时密码如果没有在终端输出的话,可以在这里面去找
    # 允许最大连接数
    max_connections=10000
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    # 注意这里如果使用utf8的话会报一个警告,因为utf8现在代表的是UTF8MB3,但是下一个版本会是UTF8MB4。但是不影响
    character-set-server=UTF8MB4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=UTF8MB4
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=UTF8MB4
    //然后将它放置到/etc目录下 

    5根据配置文件创建对应目录,并且赋予文件夹读写权限(启动mysql的时候,将会读写一些东西,这里必须将相关的文件夹赋予权限)

    //创建mysql需要的一些目录(这个和第4步的配置文件的配置要一致)
    //数据存储目录
    mkdir /opt/mysql/mysql/db_data 
    //mysql启动日志目录存放目录
    mkdir /opt/mysql/mysql/logs
    //mysql运行中出现的错误日志存放目录  
    mkdir /opt/mysql/mysql/err-logs
    //赋予对应目录权限
    chmod -R 777 /opt/mysql/mysql/err-logs /opt/mysql/mysql/logs /opt/mysql/mysql/db_data //-R 是递归赋予的意思

    6初始化mysql的一些参数

    //进入mysql的bin目录
    cd /opt/mysql/mysql/bin
    //使用bin目录下的mysqld程序初始化
    ./mysqld --initialize --console

      这里会出现一段这个信息

      

      请注意root@localhost:之后的 #HZZfN=G<2?M 是你的临时密码,要记好。这是随机的,并且第一次登陆需要靠他。如果没有出现这段信息,那是因为mysql把它输出到了我们配置的日志输出的目录/opt/mysql/err-logs/mysql_error.log

    8另一种赋予mysql初始化参数的方法 (不推荐)

    //在你使用mysqld --initialize --console 的时候可以添加一些选项
    ./mysqld --initialize --console --datadir //指定mysql数据文件放置目录,效果和my.cnf中的一样,如果同时设置了,则这种方式的优先级会高于my.cnf中的优先级

    9启动mysql

    //进入/opt/mysql/mysql/support-files目录
    cd /opt/mysql/mysql/support-files
    //运行 启动:start 重启:restart 停止:stop 查看mysql转态:status
    ./mysql.server start 

    10结果

     看到success 就表明成功了,这里出现了一个错误 表示日志启动失败了,但是mysql还是成功启动

    11修改密码

      //在网上看了很多种修改密码的方法,大部分都有问题,这里记录一个唯一生效的方法

    //登录进入mysql
    /opt/mysql/mysql/bin/mysql -uroot -p //注意这里是mysql而非mysqld

    //如果出现下面错误


    //解决方法
     执行:sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

    ...这里需要你输入临时密码

    //出现下面的内容表示成功进入mysql //输入以下语句 ALTER USER root@localhost IDENTIFIED BY '123456'; //注意 ; 号必须要,否则mysql会认定你的语句没有输入结束,回车之后只会换行,不会执行 //修改完成后会出现
    //退出,并重启登录实验密码是否修改成功
    exit

    12注意的点

      1.如果你照着上面的步骤,操作仍未启动成功!那么十有八九十因为权限的问题导致的,可以尝试在启动失败之后再次调用第四步。赋予对应的文件夹权限,然后再次启动mysql

    13一些技巧

      (1)可以在/etc/ini.d中添加启动配置,那么就无需每次启动都进入/opt/mysql/mysql/support-files去调用mysql.server了

    //将/opt/mysql/mysql/support-files/mysql.server启动服务文件拷贝到etc/init.d/目录下
     cp mysql.server /etc/rc.d/init.d/mysqld
    //添加一个启动服务
    chkconfig --add mysqld //注意这里mysqld 服务名一定要和你放在/etc/rc.d/init.d/mysqld 的服务文件一致,不然当你使用service服务的时候,会找不到启动服务文件
    //通过service 启动
     service mysqld start //等效于/opt/mysql/mysql/support-files/mysql.server start

     14 可能遇到的问题

      在这篇文章中,记录了上诉方法,从mysql安装远程链接使用遇到的一些问题,如果你也遇到了,那么可能会在这里的得到答案

  • 相关阅读:
    缓存小记
    ffplay源码分析(转)
    (转)Qt之QNetworkProxy(网络代理)
    pcm编码为aac后播放变快且模糊
    Qt常用控件(转)
    Qml(二)Quick基本组件
    QML(一)HelloWorld
    C++ MySQL连接及增删改查操作
    Linux ar打包静态库 plugin needed to handle lto object 问题
    Qt笔记(二)linux下Qt安装使用
  • 原文地址:https://www.cnblogs.com/wrhbk/p/14769473.html
Copyright © 2011-2022 走看看