• centOS系统上mysql8.0安装


    安装软件-mysql

    1、安装前的准备

    (1)、卸载残留的资源

    a、mariadb的处理

    一般centOS默认会安装mariadb数据库。

    需要进行查询:rpm -qa|grep mariadb

    卸载操作:rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

    注意:--nodeps 在安装和卸载的时候,不考虑其依赖的关系软件

    b、mysql的处理(未安装mysql则跳过)

    查看这已经安装的mysql的其他依赖:rpm -qa|grep -i mysql

    mysql的删除:yum remove mysql-community-server-5.6.36-2.el7.x86_64(这里填自己的数据库)

    卸载依赖:yum remove mysql-libs

    yum remove mysql-server

    yum remove perl-DBD-MySQL

    yum remove mysql

    注意:如果没有依赖以上命令将会出现

    (2)、建议关闭SElinux

    该程序配置复杂,与很多程序产生冲突,本身是linux2.6以上版本捆绑的一个安全模块

    a、编辑config配置文件:vi /etc/selinux/config

    b、设置SELINUX=disabled

     

    c、重启系统,使的配置生效

    (3)替换yum源

    a、安装wget下载命令:yum -y install wget

    b、更新缓存:yum clean all

    yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除

    c、缓存服务器的包信息:yum makecache

    yum makecache就是把服务器的包信息下载到本地电脑缓存起来,配合yum -C search xxx使用。不用上网检索就能查找软件信息。

    (4)(不建议)下载mysql的rpm安装包并在线安装

    Yum用来安装软件和卸载软件的,将国外的下载连接替换为国内的下载连接,方便下载

    替换yum源为网易的连接:curl -o /etc/yum.repos.d/CentOS-Base.repo   mirrors.163.com/.help/CentOS7 -Base-163.repo(如果在线安装,改变连接,之后yum命令会失效)

    安装过程中遇到无法使用yum命令,可以重新安装yum源:yum localinstall  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

    这里是清理原yum的配置、删除yum.repos.d目录下所有文件

    rm -f /etc/yum.repos.d/* 

    然后重新下载阿里的:

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    清理缓存:

    yum clean all

    yum makecache

    再次执行

    yum localinstall  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

    在线安装

    yum install mysql-community-server -y

    -y表示安装过程中无需确认,直接进入安装环节 

    2、本地安装

    下载mysql压缩包文件,并且上传到/root/mysql目录

    官网网址:https://downloads.mysql.com/archives/community/,下载并保存到本地。如上述文件目录操作,进行压缩包的移动/root/mysql 目录。

     (1)、解压:tar xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

     

    (2)、安装依赖的第三方程序:yum install perl -y

    Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被Perl语言爱好者称之为"一种拥有各种语言功能的梦幻脚本语言"、"Unix 中的王牌工具"

    yum install net-tools -y

    net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2

    作为网络配置工具的一份子,iproute2的出现旨在从功能上取代net-tools。net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯

    (3)、依次安装rpm包

    rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm

    rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm

    安装界面都大同小异:

    (4)、修改mysql安装文件的权限

    a、修改/var/lib/mysql目录访问权限,mysql进程需要向目录中写入数据,因此需要设置最高的访问权限: chmod -R 777 /var/lib/mysql

    b、初始化数据库目录:mysqld --initialize

    初始化数据库目录,root账户会生成一个随机的临时密码。

    c、给初始化后生成的所有文件赋予访问权限:chmod -R 777 /var/lib/mysql/*

    (5)、启动数据库

    a、本地安装数据库:service mysqld start 

    b、查看root账号临时登录密码:grep ‘temporary password’ /var/log/mysqld.log

    c、登录mysql:mysql -uroot -pFnX-a#=01gJ9

    注意:如果密码中有不可识别的字符,将密码用单引号括起来 'FnX-a#=01gJ9'

    d、进入数据库,更改密码为root:alter user user() identified by "root";

    这里在登录的时候一定要加  -u这个参数mysql -uroot -pFnX-a#=01gJ9,不然会出现以下错误

    e、设置远程登录,%代表任何ip地址都可远程登录

    使用数据库:use mysql;

    可以查看数据库中表,其中user是默认创建的表:show tables;

     

    给用户设置权限,让所有ip都能访问:update user set host='%' where user='root';

    注意:这里给root引号要是英文的

    f、刷新:flush privileges;

    g、退出mysql,配置/etc/my.cnf内容,添加

    [mysqld]

    character_set_server=utf8

    bind-address=0.0.0.0

    h、重启mysql服务:service mysqld restart

     

    (6)、防火墙配置

    a、防火墙开放3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

    b、重新加载防火墙:firewall-cmd --reload

    c、打开数据库连接工具navicat或者是sqlyog之类,连接linux中3306端口下的mysql

    如果出现连接错误,进入mysql执行界面输入以下内容

    mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

    Query OK, 0 rows affected (0.07 sec)

    3、测试链接数据库

    (1)、安装navicat软件

    (2)、添加连接

    (3)、连接成功:

    关闭防火墙命令:

    systemctl stop firewalld 关闭网络防火墙
    systemctl disable firewalld 关闭开机自启动(永久关闭) 

    可能遇到的问题:

      放通所有地址的时候,出现以下错误

    mysql> update user set host='%' where user='root';
    ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

      查询数据库中user已经存在,直接刷新权限就好,不用再更新

    mysql> select host from user where user = 'root';
    +-----------+
    | host      |
    +-----------+
    | %         |
    | localhost |
    +-----------+
    2 rows in set (0.11 sec)

    刷新:flush privileges;
  • 相关阅读:
    Asp.net 弹出对话框基类 (输出alet警告框)
    Request.ServerVariables获取环境变量
    Asp.net 字符串操作基类(安全,替换,分解等)
    asp.net 取得远程的IP地址和浏览器类型
    存储过程得到三个值
    弹出无边框网页的Javscrpt代码
    .net打包自动安装数据库!
    精妙Sql语句
    关于跨语言站点搜索结果非预期的问题
    SharePoint服务器场环境安装升级补丁的详细步骤
  • 原文地址:https://www.cnblogs.com/HelloM/p/13526508.html
Copyright © 2020-2023  润新知