升级到 MYSQL 8 - MAMP

问题描述 投票:0回答:1

我已经在我的 MAC 机器上安装了 MAMP,并且正在尝试将其升级以使用 MySQL 8。但是,我没有任何运气。我已尝试以下脚本,但数据库迁移失败。

此外,sequelPro 无法连接到数据库,但是 phpmyadmin 连接没有问题。

#!/bin/sh

curl -OL https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-macos10.14-x86_64.tar.gz
tar xfvz mysql-8.0.*

echo "stopping mamp"
sudo /Applications/MAMP/bin/stop.sh
sudo killall httpd mysqld

echo "creating backup"
sudo rsync -arv --progress /Applications/MAMP ~/Desktop/MAMP-Backup

echo "copy bin"
sudo rsync -arv --progress mysql-8.0.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe 

echo "copy share"
sudo rsync -arv --progress mysql-8.0.*/share/* /Applications/MAMP/Library/share/

echo "fixing access (workaround)"
sudo chmod -R o+rw  /Applications/MAMP/db/mysql/
sudo chmod -R o+rw  /Applications/MAMP/tmp/mysql/
#sudo chmod -R o+rw  "/Library/Application Support/appsolute/MAMP PRO/db/mysql/"

echo "starting mamp"
sudo /Applications/MAMP/bin/start.sh

echo "migrate to new version"
/Applications/MAMP/Library/bin/mysql -u root --password=root -h 127.0.0.1
mysql macos mamp mysql-8.0
1个回答
0
投票

在 MAMP 中升级 MySQL 可能有点棘手,但您的脚本似乎基本正确。但是,升级到 MySQL 8 时您可能需要考虑一些额外的步骤。这是脚本的更新版本,进行了一些调整:

#!/bin/bash

# Download and extract MySQL 8
curl -OL https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-macos10.14-x86_64.tar.gz
tar xfvz mysql-8.0.*

# Stop MAMP services
echo "Stopping MAMP..."
sudo /Applications/MAMP/bin/stop.sh
sudo killall httpd mysqld

# Create a backup
echo "Creating backup..."
sudo rsync -arv --progress /Applications/MAMP ~/Desktop/MAMP-Backup

# Copy MySQL binaries
echo "Copying binaries..."
sudo rsync -arv --progress mysql-8.0.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe

# Copy MySQL share files
echo "Copying share files..."
sudo rsync -arv --progress mysql-8.0.*/share/* /Applications/MAMP/Library/share/

# Fix file permissions
echo "Fixing permissions..."
sudo chmod -R o+rw  /Applications/MAMP/db/mysql/
sudo chmod -R o+rw  /Applications/MAMP/tmp/mysql/
sudo chmod -R o+rw  "/Library/Application Support/appsolute/MAMP PRO/db/mysql/"

# Start MAMP services
echo "Starting MAMP..."
sudo /Applications/MAMP/bin/start.sh

# Migrate MySQL data to the new version
echo "Migrating to new version..."
/Applications/MAMP/Library/bin/mysql_upgrade -u root --password=root -h 127.0.0.1

更改和补充:

  1. 使用
    #!/bin/bash
    :Bash 更常用于脚本编写。
  2. 不要直接执行
    mysql
    命令,而是使用
    mysql_upgrade
    来确保现有MySQL数据正确迁移到新版本。
  3. 添加了更多 echo 语句来跟踪进程并使调试更容易。
  4. 请注意,某些路径或命令可能会根据您的特定 MAMP 设置而有所不同,因此请仔细检查这些路径。

运行此脚本后,尝试使用适当的 MySQL 客户端连接到 MySQL 8 以确认迁移成功。请记住在执行任何重大升级之前始终备份您的数据。

© www.soinside.com 2019 - 2024. All rights reserved.