Mysql5.7解压版的安装和卸载及常见问题小结

yizhihongxing

下面就是详细讲解Mysql5.7解压版的安装和卸载及常见问题小结的完整攻略:

安装Mysql5.7解压版

下载Mysql5.7压缩包

首先,我们需要从官方网站上下载Mysql5.7的压缩包。可以使用如下命令:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

解压Mysql5.7压缩包

下载完成后,我们需要解压压缩包,可以使用如下命令:

tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

创建Mysql用户和数据目录

创建Mysql用户和数据目录:

groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql

初始化Mysql

Mysql解压版需要初始化,可以使用如下命令:

cd mysql-5.7.34-linux-glibc2.12-x86_64
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

启动Mysql

启动Mysql服务:

./bin/mysqld_safe --user=mysql &

修改root密码和远程连接权限

默认情况下,Mysql的root账号是没有密码的。我们需要修改root密码,并且开启远程连接权限。

首先,登录Mysql:

./bin/mysql -uroot

登录后,执行如下命令修改root密码和授权远程连接:

mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码';
mysql> FLUSH PRIVILEGES;

添加Mysql启动脚本

将如下代码保存为/etc/init.d/mysqld:

#!/bin/sh
#
# Startup script for MySQL Server
#

basedir=/usr/local/mysql
datadir=/data/mysql/data
pid_file=/var/run/mysql/mysql.pid
mysql_sock=/var/run/mysql/mysql.sock

MYSQL_USER=mysql
MYSQL=/usr/local/mysql/bin/mysql
MYSQLD=/usr/local/mysql/bin/mysqld_safe

# Check if necessary binaries are installed
test -x $MYSQLD || exit 0

case "$1" in
    start)
        # Start daemon
        echo -n "Starting MySQL server: "
        if ! test -f $mysqld_pid_file 
        then
            $MYSQLD --user=$MYSQL_USER --basedir=$basedir --datadir=$datadir --pid-file=$pid_file --socket=$mysql_sock &
            sleep 1
        fi

        if test -f $pid_file
        then
            mysqld_pid=`cat $pid_file`
            if ps -p $mysqld_pid > /dev/null 
            then
                echo "OK"
            else
                echo "failed (pid file found but no matching process)"
            fi
        else
            echo "failed (no pid file)"
        fi
        ;;
    stop)
        # Stop daemons
        echo -n "Stopping MySQL server: "
        if test -f $pid_file
        then
            mysqld_pid=`cat $pid_file`
            if ps -p $mysqld_pid > /dev/null 
            then
                # normal shutdown
                $MYSQL -u $MYSQL_USER -e "SHUTDOWN"
                while ps -p $mysqld_pid > /dev/null ; do sleep 1; done
                echo "OK"
            else
                echo "MySQL server process #$mysqld_pid not running"
            fi
        else
            echo "MySQL server PID file could not be found!"
        fi
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

加入系统服务:

chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

测试连接

最后,可以使用命令行或者一些客户端软件(比如MySQL Workbench)来测试是否能够成功连接Mysql数据库。

卸载Mysql5.7

如果需要卸载Mysql5.7,可以如下操作:

  1. 停止Mysql服务
/etc/init.d/mysqld stop
  1. 删除Mysql目录
rm -rf /usr/local/mysql
  1. 删除Mysql用户和数据目录
userdel -r mysql
rm -rf /data/mysql

常见问题小结

1. Mysql无法启动

如果Mysql无法启动,可能是由于数据目录权限问题导致。可以检查/data/mysql/data目录的权限是否正确,以及Mysql的用户是否有读写该目录的权限。

2. Mysql远程连接失败

如果Mysql远程连接失败,可能是由于防火墙或者网络策略的限制导致。可以检查防火墙设置,是否允许外部访问Mysql服务端口(默认为3306),以及网络是否正确配置。

以上就是Mysql5.7解压版的安装和卸载及常见问题小结的完整攻略,希望可以帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql5.7解压版的安装和卸载及常见问题小结 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • php通过递归方式复制目录和子目录的方法

    PHP通过递归方式复制目录和子目录的方法,主要涉及了PHP中的递归函数以及目录操作函数。下面我来详细介绍一下具体的攻略。 1. 递归函数的实现 递归函数指的是函数调用自身的过程,常用于处理复杂的数据结构或问题。对于复制目录和子目录的操作,我们可以通过递归函数来实现。下面是一个示例代码: function copy_dir($src, $dst) { // 检…

    other 2023年6月27日
    00
  • C++的原生数组你了解多少

    C++的原生数组是指在内存中预留一段固定大小的连续空间用于存储同种类型的数据元素。这种数据结构是C++的重要组成部分,掌握原生数组的使用可以提高程序员的编程水平。 声明与初始化 声明一个数组需要指出数组的类型和名称,还需要指定数组的大小。例如,声明一个包含10个整数的数组需要这样写: int arr[10]; 数组的元素可以在声明时就初始化。 int arr…

    other 2023年6月25日
    00
  • 微软正式发布Windows 10 2020年5月更新(附官方下载地址)

    微软正式发布Windows 10 2020年5月更新攻略 介绍 微软于2020年5月发布了Windows 10的更新版本。这个更新带来了一些新功能和改进,同时修复了一些已知的问题。本攻略将详细介绍如何获取和安装这个更新。 步骤 步骤一:检查系统要求 在开始之前,请确保你的计算机符合以下系统要求:- 操作系统:Windows 10- 处理器:1 GHz或更快的…

    other 2023年8月4日
    00
  • 前端框架之封装Vue第三方组件三个技巧

    关于“前端框架之封装Vue第三方组件三个技巧”的完整攻略,我将按照以下顺序进行介绍: Vue组件基础 Vue第三方组件封装技巧 示例说明 1. Vue组件基础 在介绍Vue第三方组件封装技巧之前,我们首先需要了解Vue组件的基础知识。 在Vue中,组件是可复用的Vue实例。每个组件都包含了自己的模板、脚本、样式和数据等,它们能接收父组件传递的数据,同时也能向…

    other 2023年6月25日
    00
  • mac怎么开启nfs共享

    Mac如何开启NFS共享 NFS(Network File System)是一种用来在网络中共享文件系统资源的协议。在Mac上,我们可以使用NFS共享文件夹和文件,以便在局域网内的其他Mac或Linux系统上访问和使用。 下面是如何在Mac上启用NFS共享的步骤。 步骤1:打开终端 要启用NFS共享,我们需要在终端中执行一些命令。在Mac上打开终端的方法有很…

    其他 2023年3月28日
    00
  • 细说集群技术(cluster)

    细说集群技术(cluster) 集群技术是一种将多个计算机联合起来协同工作的方式,以实现提高系统性能、提高可靠性、实现负载均衡等目标。在大型网站、云计算、大数据等领域中广泛应用。本文将介绍集群技术的基本概念、应用场景、以及实现方式。 集群技术的基本概念 集群技术是一种将多个计算机联合起来协同工作的方式。通过将多台计算机组合成一个更大的逻辑系统,从而达到分布式…

    其他 2023年3月28日
    00
  • this.$router.push不跳转设定页面

    在Vue.js中,使用this.$router.push方法可以实现路由跳转。但是,有时候可能会出现this.$router.push不跳转设定页面的问题。以下是一个完整攻略,介了解决this.$router.push不跳转设定页面的方法: 步骤1:检查路由配置 要使用this.$router.push方法进行路由跳转,必须首先在路由配置中定义路由。如果路由…

    other 2023年5月6日
    00
  • 分组字符合并SQL语句 按某字段合并字符串之一(简单合并)

    分组字符合并SQL语句是一种将同一字段的多行记录中的某一列合并为单行的方法。它常常被用于将多行记录中的文本信息合并为单一的文本信息。 以下是分组字符合并SQL语句 按某字段合并字符串之一(简单合并)的完整攻略: SELECT 字段1, GROUP_CONCAT(字段2) AS 新列名1 FROM 表名 GROUP BY 字段1; 其中,“字段1”是要进行分组…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部