本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结:

  • CentOS7 安装mysql8 步骤;
  • window下的Navicat 连接MySql8;
  • 涉及到的Linux命令

https://blog.csdn.net/managementandjava/article/details/80039650

------------------------------------------------------------------------------------------------------------------

第一部分 CentOS7安装mysql

1.1 安装前清理工作;

1.1.1 清理原有的mysql数据库;

使用以下命令查找出安装的mysql软件包和依赖包:

rpm -pa | grep mysql

显示结果如下:

  1.  
    mysql80-community-release-el7-1.noarch
  2.  
    mysql-community-server-8.0.11-1.el7.x86_64
  3.  
    mysql-community-common-8.0.11-1.el7.x86_64
  4.  
    mysql-community-libs-8.0.11-1.el7.x86_64
  5.  
    mysql-community-client-8.0.11-1.el7.x86_64

使用以下命令依次删除上面的程序

yum remove mysql-xxx-xxx-

删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;

find / -name mysql

可能的显示结果如下:

  1.  
    /etc/logrotate.d/mysql
  2.  
    /etc/selinux/targeted/active/modules/100/mysql
  3.  
    /etc/selinux/targeted/tmp/modules/100/mysql
  4.  
    /var/lib/mysql
  5.  
    /var/lib/mysql/mysql
  6.  
    /usr/bin/mysql
  7.  
    /usr/lib64/mysql
  8.  
    /usr/local/mysql

根据需求使用以下命令 依次 对配置文件进行删除

rm -rf /var/lib/mysql

1.1.2 删除MariaDB的文件,

由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.

使用rpm 命令查找出要删除的mariadb文件;

rpm -pa | grep mariadb

可能的显示结果如下:

mariadb-libs-5.5.56-2.el7.x86_64

删除上面的程序

rpm -e mariadb-libs-5.5.56-2.el7.x86_64

可能出现错误提示如下:

  1.  
    依赖检测失败:
  2.  
     
  3.  
    libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
  4.  
     
  5.  
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
  6.  
     
  7.  
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

使用强制删除:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

至此就将原来有的mysql 和mariadb数据库删除了;

1.2 安装mysql

1.2.1 下面mysql官网提供的mysql repo源

centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;

mysql官网下载链接:mysql repo下载地址 如下:

1.2.2 使用putty的pscp将文件上传到CentOS

使用putty将F:盘下刚下好的mysql repo文件上传到Centos/usr/local/mysql文件夹下;

D:\Putty>pscp F:\mysql80-community-release-el7-1.noarch.rpm root@192.168.145.136:/usr/local/mysql/

1.2.3 安装 yum repo文件并更新 yum 缓存;

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

执行结果:

会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

更新 yum 命令

  1.  
    yum clean all
  2.  
    yum makecache

1.2.4 使用 yum安装mysql

当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本;

第一步: 查看mysql yum仓库中mysql版本,使用如下命令

yum repolist all | grep mysql

可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态;

第二步 使用 yum-config-manager 命令修改相应的版本为启用状态最新版本为禁用状态

  1.  
    yum-config-manager --disable mysql80-community
  2.  
    yum-config-manager --enable mysql57-community

或者可以编辑 mysql repo文件,

cat /etc/yum.repos.d/mysql-community.repo 

将相应版本下的enabled改成 1 即可;

1.2.5 安装mysql 命令如下:

yum install mysql-community-server

1.2.6 开启mysql 服务

systemctl start mysqld.service

1.2.7 获取初始密码登录mysql

mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;

cat /var/log/mysqld.log | grep password

使用初始密码登录mysql

mysql -u root -p 

修改初始密码:所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

1.2.8 在防火墙中开启3306端口

CentOS7默认使用的是firewall作为防火墙,我这里改为习惯常用的iptables防火墙

第一步: 关闭firewall防火墙

  1.  
    systemctl stop firewalld.service
  2.  
    systemctl disable firewalld.service
  3.  
    systemctl mask firewalld.service

第二步: 安装iptables防火墙

yum install iptables-services -y

第三步: 启动iptable防火墙

  1.  
    systemctl enable iptables
  2.  
    systemctl start iptables

第四步: 编辑防火墙增加端口 防火墙文件位置为: /etc/sysconfig/iptables

vim /etc/sysconfig/iptables

在倒数第三行上增加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

第五步: 重启防火墙

  1.  
    systemctl enable iptables.service
  2.  
    systemctl start iptables.service

1.2.9 将mysql 服务加入开机启动项,并启动mysql进程

  1.  
    systemctl enable mysqld.service
  2.  
    systemctl start mysqld.service

常用mysql服务命令:

  1.  
    登录mysql
  2.  
    mysql -u username -p
  3.  
     
  4.  
    退出mysql
  5.  
    quit
  6.  
     
  7.  
    启动mysql
  8.  
    systemctl start mysqld.service
  9.  
     
  10.  
    结束
  11.  
    systemctl stop mysqld.service
  12.  
     
  13.  
    重启
  14.  
    systemctl restart mysqld.service
  15.  
     
  16.  
    开机自启
  17.  
    systemctl enable mysqld.service
  18.  
     
  19.  
    查看mysql版本
  20.  
    select version();

本节参考文档:

参考文献1: centos安装mysql

参考文献2: A Quick Guide to Using the MySQL Yum Repository

------------------------------------------------------------------------------------------------------------------

第二部分 Navicat 连接 Mysql8

2.1 开启mysql远程服务:

2.1.1 修改mysql数据库下的user表中host的值

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:

  1.  
    mysql -u root -p
  2.  
    use mysql;
  3.  
    update user set host='%' where user='root';

2.1.2 使用授权的方式

赋予任何主机访问数据的权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

如果想myuser用户使用mypassword密码从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

2.2 在使用 Navicat for Mysql连接mysql 8.0时会报如下错误:

Authentication plugin 'caching_sha2_password' cannot be loaded: 

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式;

我们可可以查看mysql 数据库中user表的 plugin字段;

可以使用命令将他修改成mysql_native_password加密模式:

update user set plugin='mysql_native_password' where user='root';

再用Navicat链接 就可以链接成功;

本节参考文献:

参考文献1: mysql开启远程的两种方式

参考文献2:初次安装mysql遇到的问题

------------------------------------------------------------------------------------------------------------------

第三部分:安装过程中涉及到的Linux命令学习;

3.1 rpm

3.2 putty 上传文件 pscp命令;

在window机上CD进入pttty安装目录:

    cd :\program files (x86)\Putty

将本地文件拷贝到Linux上:pscp 文件 用户名@LinuxIP:目录

    pscp hello.txt root@192.168.145.135:/tmp/userfile/

将本地文件夹 拷贝到Linux上:pscp  -r 目录 用户名@LinuxIP:目录

   pscp -r c:\file root@10.43.65.98:/root/testFolder  

将Linux上的文件\root\test.txt拷贝到本地C盘src文件夹,如下:

   pscp root@abc_pc:/root/test.txt  C:\src  

3.3 修改防火墙文件/etc/sysconfig/iptables

3.4 systemctl命令

CentOS7 安装 mysql8的更多相关文章

  1. Centos7安装MySQL8.0

    请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...

  2. Centos7 安装 MySQL8以及远程访问的配置

    Centos7 安装MySQL8 1. 添加MySQL8的本地源 执行以下命令获取安装MySQL源 [root@virde ~]# wget https://repo.mysql.com//mysql ...

  3. CentOS7安装MySQL8.0小计

    之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下 1.环境安装 下载MySQL提供的CentOS7的yum源 官方文档:<https:// ...

  4. 阿里云centos7安装mysql8数据库

    一.安装mysql 1. mysql官网查找仓库源镜像,选择downloads https://www.mysql.com/downloads/ 2. 找到社区版 3. 选择yum仓库 4. 选择对应 ...

  5. Centos7安装MySQL8.0 - 操作手册

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) ...

  6. <亲测>CentOS7 安装mysql8.0(YUM方式)

    CentOS7 安装mysql(YUM方式)   1.下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql80-community-rel ...

  7. CentOS7安装mysql8.0编译报错集合

    以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...

  8. Centos7 安装mysql-8.0.13(rpm)

    yum or rpm? yum安装方式很方便,但是下载mysql的时候从官网下载,速度较慢. rpm安装方式可以从国内镜像下载mysql的rpm包,比较快.rpm也适合离线安装. 环境说明 操作系统: ...

  9. CentOS7安装MySQL8.0图文教程

    1.下载 MySQL 所需要的安装包 网址:https://dev.mysql.com/downloads/mysql/ 2.Select Operating System: 选择 Red Hat , ...

随机推荐

  1. 前端 HTML body标签相关内容 常用标签 表格标签 table

    表格标签 table 表格由<table> 标签来定义.每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由<td>标签定义).字母 td 指表 ...

  2. 前端 HTML body标签相关内容 常用标签 段落标签 p标签

    段落标签 <p>,paragraph的简写.定义段落,默认段落之间有间隔的 浏览器展示特点: 跟普通文本一样,但我们可以通过css来设置当前段落的样式 是否又独占一行呢? 答案是的 块级元 ...

  3. Codefoces 432C Prime Swaps(数论+贪心)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/26094917 题目连接:Codefoces ...

  4. Dockerfile语法解析

    Dockfile介绍 从上到下依次执行 每次执行一条指令就创建一个镜像层 第一条指令必须是FROM    表示需要构建的镜像是由哪个镜像为基础镜像   后续的指令运行于此基准镜像所提供的运行环境 可以 ...

  5. 并发编程---IO模型

    IO模型 任务的提交方式有两种: 同步:应用程序提交完任务,等待结果结果,之后在执行下一个任务 异步:应用程序提交完任务,继续执行不等待结果,任务执行完,会自动出发异步中的会带哦函数 同步不等于阻塞: ...

  6. caffe SSD目标检测lmdb数据格式制作

    一.任务 现在用caffe做目标检测一般需要lmdb格式的数据,而目标检测的数据和目标分类的lmdb格式的制作难度不同.就目标检测来说,例如准备SSD需要的数据,一般需要以下几步: 1.准备图片并标注 ...

  7. vue 点击当前的标签,获取当前标签的value值

    点击当前的标签,获取当前标签的value值 html <p class="title" v-for="(item, i) in items" :key=& ...

  8. Centos7下安装syslog-ng

    1. syslog-ng的安装地址 https://github.com/balabit/syslog-ng/releases 下载最新版本. 2. 安装gnomeui开发包,因为syslog-ng依 ...

  9. linux系统中CST与EDT时间转换

    初始时间:2012年 09月 14日 星期五 18:15:33 EDT [root@test ~]# mv /etc/localtime /etc/localtime.bak [root@test ~ ...

  10. 用websploit获取管理员后台地址

    1, use web/dir_scanner 2, set TARGET http://www.****.com 3, run SOURCE: https://sourceforge.net/proj ...