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日

相关文章

  • java利用递归实现类别树示例代码

    首先我们先来讲解一下递归的概念和原理。 递归的概念和原理 递归是一种解决问题的方法,它把一个大问题逐渐分解成小问题来解决,直到小问题可以被轻松地解决。在编程中,递归是一种函数调用自身的过程。递归函数在调用过程中会不断地调用自身,直到达到终止条件为止。 使用递归实现类别树,是可以节省资源的一种做法。通常情况下,我们需要查询某个分类的所有子分类和子分类的子分类,…

    other 2023年6月27日
    00
  • [下载]苹果iOS9.1 Beta5固件下载地址大全

    [下载]苹果iOS9.1 Beta5固件下载地址大全攻略 苹果iOS9.1 Beta5固件是苹果公司发布的一款测试版本固件,本攻略将详细介绍如何下载该固件以及提供下载地址大全。请按照以下步骤进行操作: 步骤一:准备工作 在开始下载iOS9.1 Beta5固件之前,请确保您已经完成以下准备工作: 确认您的设备兼容性:iOS9.1 Beta5固件可能只适用于特定…

    other 2023年8月4日
    00
  • vue router 配置路由的方法

    Vue Router 配置路由的方法 Vue Router 是 Vue.js 官方的路由管理器,用于实现单页面应用(SPA)的路由功能。下面是配置路由的方法的详细攻略。 步骤一:安装 Vue Router 首先,你需要在你的 Vue.js 项目中安装 Vue Router。可以通过 npm 或者 yarn 进行安装。 npm install vue-rout…

    other 2023年7月28日
    00
  • postgresql 查看当前用户名的实现

    要查看当前PostgreSQL服务器的用户名,可以使用以下两个方法: 方法一:使用pg_backend_pid()和pg_stat_activity视图 首先,在PostgreSQL中查询当前会话的进程ID和用户名,可以使用pg_backend_pid()和pg_stat_activity视图的组合。 SELECT pg_stat_activity.usen…

    other 2023年6月27日
    00
  • matlab之sortrows()函数

    sortrows()函数是MATLAB中用于对矩阵按照指定列进行排序的函数。该函数可以按照单个列或多个列进行排序,并且可以指定升序或降序排列。以下是MATLAB中sortrows()函数的完整攻略,包含两个示例说明。 语法 sortrows(A, cols)函数的语法如下: B = sortrows(A, cols) 其中,A是要排序的矩阵,cols是一个向…

    other 2023年5月9日
    00
  • Java基础之反射技术相关知识总结

    Java基础之反射技术相关知识总结 什么是反射? 反射是Java语言的一种特性,可以在运行时获取到一个类的各种信息,比如类的属性、方法、构造方法等,甚至可以在运行时动态地调用对象的方法或者创建对象。反射技术为Java语言提供了灵活的动态性,使得代码的编写和执行更加灵活。 反射的基本使用 Java中反射的相关类都定义在java.lang.reflect包下,常…

    other 2023年6月27日
    00
  • rsync 常见错误与解决方法整理

    rsync 常见错误与解决方法整理 什么是 rsync? rsync 是一个用于在本地或远程系统之间进行文件同步和备份的工具。它可以在不同的操作系统之间传输文件,并提供了自动化的同步和增量备份功能。 rsync 常见错误 错误1:rsync error: syntax or usage error rsync 命令的语法是有一定要求的,如果语法不正确,就会报…

    other 2023年6月27日
    00
  • java判断包含contains方法的使用

    以下是关于“Java判断包含contains方法的使用”的完整攻略,包括基本概念、使用方法和两个示例。 基本概念 Java中的contains方法是用于判断一个字符串是否包含另一个字符串的方法。它返回一个布尔值,如果被查找的字符串包含指定的字符串,则返回true,否则返回false。 使用方法 以下是使用Java中的contains方法的基本方法: 调用字符…

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