前言

  基于本地Centos7.6虚拟机Mysql8的配置(亲测有效)

一.安装前的准备

  1.到官网下载mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
  2.通过Xshell或者Xftp、PSPC、PSFTP等工具把安装包上传到CentOS服务器。
   PSftp示范
    (1)先在虚拟机上命令(ip addr)查看虚拟机的ip,没有ip自己网上找配置方法

    (2)打开psftp,连接虚拟机
    open ip

    (3)账号密码登录(注意:要回复y or n时,要照提示输入,不能直接回车)

    (4)登陆成功后,当前目录为root,切换到你要上传的位置(这里以local目录为例)
    cd /usr/local/

    (5)再切到本地存放mysql8压缩包的目录下(这里以F:\test为例)
    lcd F:\test

    (6)切到test目录后,开始上传(注意:后缀名也要打上去)
    put mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
    当提出pftp>提示时,说明上传成功
    

   3.在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载。
     (1)查看mysql数据库
      rpm -qa | grep -i mysql

     (2)卸载mysql数据库
      rpm -e --nodeps mysql 文件名

     (3)查找mysql文件
      find / -name mysql

     (4)删除mysql有所文件和配置文件my.cnf(自己上传的别错删了)
      rm -rf 指定路径下的文件名
    

  4.解压缩mysql文件
    (1)xz –d /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

    (2)tar –xvf /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar

    (3)mv /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

  5.查看解压后的文件
    ls -al /usr/local/mysql
  

二.添加mysql组和用户及权限分配

  1.检查mysql组和用户是否存在,如无创建
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql

  2.创建mysql用户组,指定mysql用户属于mysql组
    groupadd mysql
    useradd -g mysql mysql

  

 3.修改用户mysql的密码为A2019a(自己设定),回车后输入密码

    passwd mysql

  4给予安装目录mysql权限
  chown -R mysql:mysql /usr/local/mysql

  

三.创建和设置配置文件my.cnf

  1.在/etc/下创建创建my.cnf
    touch /etc/my.cnf
    vi /etc/my.cnf
  在配置文件my.cnf添加如下配置(注意注意:别打错单词了,我就试过差点怀疑人生)
   [mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

skip-name-resolve

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

  2.赋my.cnf文件mysql权限
   chown mysql:mysql /etc/my.cnf

  

四.mysql初始化配置

  1.切换到mysql用户权限
    su mysql

    2.初始化生成data目录(切记不要手动创建data目录)(补充:mysql用户下初始化不成功(没有生成密码),用root用户来操作,最后记得把生成data目录赋予mysql用户)
    /usr/local/mysql/bin/mysqld --initialize
    如果当前所在目录为bin录下,命令形式为./mysqld --initialize
    ./不能省略,否则出错,因为省略后系统会当成mysqld程序执行,而不是bin目录下的mysqld可执行文件

  3.如果提示没有libaio程序就先安装yum install libaio-devel.x86_64然后不断回y就行
   但得先切回root用户(命令su回车输密码即可),否则报错权限不够
   不用安装也要先切回root,否则下面步骤也会报错

   4.初始化完成后,仔细看提示,会自动生成mysql数据库登陆密码,记好
  

  5.此时在mysql目录下会生成data目录,但权限只有750,要追加到755

  

  chmod 755 /usr/local/mysql/data
  (或者 chmod o+r+x /usr/local/mysql/data)

  

五.软连接与开机启动项设置

  1.创建软连接(实现可直接命令行执行mysql)
    ln -s /usr/local/mysql/bin/mysql /usr/bin

   2.mysqld配置,拷贝启动文件到/etc/init.d/目录下并重命令为mysqld
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    3.检查自启动项列表中有没有mysqld
    chkconfig --list mysqld

  4.如果没有就添加mysqld
    chkconfig --add mysqld

  5.设置开机启动
    chkconfig mysqld on

    6.启动测试
    service mysqld start

  

六.pid问题解决

  

  1.如果无法启动,且提示pid错误;首先一定要确认配置文件有没有打错字母,改正后,删除data目录
    rm -rf /usr/local/mysql/data

   2.重新初始化一遍
    /usr/local/mysql/bin/mysqld --initialize

  3.记下密码后,追加755权限给data目录
    chmod 755 /usr/local/mysql/data

  4.再重新启动mysql服务
    service mysqld start
  仍不行重试第六个标题步骤
  按照前面来的操作,一般是不会有问题;配置文件中如果自定义mysql日志路径,在创建文件夹存放日志文件时,该文件夹手动创建后要赋Mysql用户权限

七.登录mysql修改密码

  1.登录mysql,前面最新的密码就派上用场了
    mysql -uroot -p密码

   2.修改密码
    set password='123456';

  在yum或rpm在线安装完成后,首次登录强制修改密码
  alter user 'root'@'localhost' identified by '123456';
  有的人可能试过上面这句直接修改密码不行,此时可以先减低密码的防御策略,之后再视情况修改
  set global validate_password.policy=0;
  set global validate_password.length=1;
  再执行上面的修改密码的语句

  基本配置到此完成

  mysql安全配置推荐参考https://www.freebuf.com/articles/database/36777.html

CentOS7下MySQL8的二进制基本安装配置的更多相关文章

  1. CentOS7下搭建Nginx+PHP7的安装配置

    一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C ...

  2. Centos7下的rabbitmq-server-3.8.11安装配置

    推荐大家看看这篇文章:https://blog.csdn.net/qq_27669839/article/details/113418827 下载安装文件 在网上去下载rabbmitmq-3.8.11 ...

  3. centos7下haproxy1.7的使用与配置

    centos7下haproxy1.7的使用与配置 haproxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 一.haproxy下载 ...

  4. Centos7下PHP的卸载与安装nginx

    Centos7下PHP的卸载与安装nginx CentOS上PHP完全卸载,想把PHP卸载干净,直接用yum的remove命令是不行的,需要查看有多少rpm包,然后按照依赖顺序逐一卸载. 1.首先查看 ...

  5. <亲测>CentOS 7.3下Node.js 8.6安装配置(含NPM以及PM2)

    CentOS 7.3下Node.js 8.6安装配置 2017年09月30日 14:12:02 阅读数:2245更多 个人分类: Nodejs   版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  6. CentOS8.1操作系下使用通用二进制包安装MySQL8.0(实践整理自MySQL官方)

    写在前的的话: 在IT技术日新月异的今天,老司机也可能在看似熟悉的道路上翻车,甚至是大型翻车现场!自己一个人开车过去翻个车不可怕,可怕的是带着整个团队甚至是整个公司一起翻车山崖下,解决办法就是:新出现 ...

  7. 离线环境下使用二进制方式安装配置Kubernetes集群

    本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...

  8. 【hive】centos7下apache-hive-3.1.2-bin的安装测试

    前言:安装hive还是遇见些问题,但还好都解决了,比当初安装配置hadoop-3.2.0容易点...... 正文: 1.下载并安装hive:tar -zxvf apache-hive-3.1.2-bi ...

  9. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

随机推荐

  1. Golang的标准命令简述

    Golang的标准命令简述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go本身包含了大量用于处理Go程序的命令和工具.go命令就是其中最常见的一个,它有许多子命令,接下来就跟随 ...

  2. Vue - slot-scope="scope" 的意义

      <template slot-scope="scope">                     <el-button type="primary ...

  3. tomcat-jvm内存问题

    http://www.360doc.com/content/14/0617/12/114824_387440563.shtml http://27091497.blog.163.com/blog/st ...

  4. Solve Error: Could not find the certificate xxxx.com. at ServerlessCustomDomain.<anonymous>

    When runs "serverless create_domain", we may get the following error: Could not find the c ...

  5. Vulkan 之 Layers

    Layers 暴露给api层,不像传统图形API集成在驱动里面,开发者根据自己的需要进行开启,最终目的还是为了提高性能. The Loader he loader is the central arb ...

  6. opencv python训练人脸识别

    总计分为三个步骤 一.捕获人脸照片 二.对捕获的照片进行训练 三.加载训练的数据,识别 使用python3.6.8,opencv,numpy,pil 第一步:通过笔记本前置摄像头捕获脸部图片 将捕获的 ...

  7. Java中的String介绍

    一.概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承. 二.String字符串的特征 1. 字符串在内存中是以字符数组的形式来存储的. 示例如下,可以从String ...

  8. NumPy 数组迭代

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  9. UVA - 557 Burger(汉堡)(dp+概率)

    题意:有n个牛肉堡和n个鸡肉堡给2n个孩子吃.每个孩子在吃之前都要抛硬币,正面吃牛肉堡,反面吃鸡肉堡.如果剩下的所有汉堡都一样,则不用抛硬币.求最后两个孩子吃到相同汉堡的概率. 分析: 1.先求最后两 ...

  10. Kali桥接模式下配置静态ip

    以管理员身份运行虚拟机 打开控制面板-->网络和Internet-->更改适配器 再在虚拟机处桥接到这个WLAN2 点击 编辑-->编辑虚拟网卡 没有网卡就点上图的添加网络作为桥接网 ...