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

下面就是详细讲解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日

相关文章

  • Typescript井字棋的项目实现

    Typescript井字棋项目实现攻略 项目概述 本项目旨在使用Typescript编写一个井字棋游戏的网页应用。通过本项目的实现,你将学会如何使用Typescript创建对象、定义接口、编写类方法以及进行页面交互。 准备工作 在开始实现项目之前,你需要完成以下准备工作:1. 安装Node.js和npm(如果尚未安装)。2. 确保你已经掌握了基本的HTML、…

    other 2023年6月28日
    00
  • MySQL 中查找含有目标字段的表的方法

    MySQL 中查找含有目标字段的表需要用到信息模式(Information Schema),信息模式特别适用于查询关于数据库和它的对象的元数据信息。以下是查找含有目标字段的表的完整攻略: 利用信息模式 使用下面的 SQL 语句查找具有目标字段的表名: mysql SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHE…

    other 2023年6月25日
    00
  • Android实现ListView左右滑动删除和编辑

    Android实现ListView左右滑动删除和编辑攻略 在Android中实现ListView左右滑动删除和编辑功能可以通过以下步骤完成: 步骤1:添加依赖库 首先,在项目的build.gradle文件中添加以下依赖库: dependencies { implementation ‘com.android.support:recyclerview-v7:2…

    other 2023年9月6日
    00
  • matlab绘图详解

    MATLAB绘图详解 MATLAB是一种强大的数学软件,它提供了丰富的绘图功能,可以用于绘制各种类型的图表。本攻略将介绍MATLAB中常用的绘图函数和绘图技巧,并提供两个示例说明如何使用这些函数和技巧。 常用绘图函数 plot函数 plot函数用于绘制维线性图。以下是plot函数的语法: plot(x, y) 在上述代码中,x表示x轴上的数据,y表示y轴上的…

    other 2023年5月7日
    00
  • Android实现IM多人员组合的群组头像

    Android实现IM多人员组合的群组头像攻略 在Android应用中实现IM多人员组合的群组头像可以通过以下步骤完成: 步骤一:获取用户头像 首先,需要获取每个用户的头像。可以通过用户的个人资料或者从服务器获取用户的头像图片。每个用户的头像应该是一个Bitmap对象。 示例代码: Bitmap user1Avatar = BitmapFactory.dec…

    other 2023年9月7日
    00
  • vue实现弹出悬浮页面

    以下是Vue实现弹出悬浮页面的详细攻略: Vue实现弹出悬浮页面 在Vue中,您可以使用<transition>组件和CSS样式来实现弹出悬浮页面的效果。以下是实现此效果的步骤: 创建一个Vue组件。 “`vue 打开悬浮页面 悬浮页面标题 关闭 “` 在上面的代码中,我们创建了一个Vue组件,其中包含一个按钮和一个弹出悬浮页面。当用户单击按…

    other 2023年5月7日
    00
  • sqlite数据表主键设置id自增方法

    简介 SQLite是一种轻量级的关系型数据库管理系统,它支持多种数据类型和SQL语句。在SQLite中,我们可以使用自增键来确保每个记录都有唯一的标识符。在本攻略中,我们将介绍如何使用SQLite数据表主键设置id自增方法。 步骤 以下是使用SQLite数据表主键设置id自增方法的步骤。 步骤1:创建数据表 先,我们需要创建一个数据表。我们可以使用以下SQL…

    other 2023年5月6日
    00
  • 深入理解java重载和重写

    深入理解Java重载和重写 什么是Java重载? Java中的重载指的是在同一个类中可以定义具有相同名称但参数不同的多个方法。即同一个方法名可以用于多个不同的方法,通过参数的不同或类型的不同来区分它们。Java重载可以提高代码的可读性和重用性,方便用户根据自己的需要选择相应的方法。 public class Calculator { public int a…

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