我想将 xampp mysql 从 5.1 升级到 5.6.10 我将 mysql 服务器安装到 xampp 路径中的 mysql 路径,但对我来说不起作用。您有什么想法或方法可以在 xampp 中升级 mysql 吗?
谨致问候 Ali
答案1
我找到了完美的方法,没有任何副作用,并且可以与 xampp 控制面板完美配合......
开始之前,请确保将数据库备份到文件并将所有用户导出到文件。确保停止 mysql,但无需卸载该服务。
步骤 1:下载新版本的 MySQL 安装版本或 zip(最好使用安装版本,因为它小得多)
步骤 2:将 MySQL 安装到 C:\TEMP。仅安装 MySQL 服务器
步骤 3:不要运行高级选项。不要让它安装服务。无需配置。
步骤 4:转到 C:\TEMP,查找安装并复制以下文件夹“bin、include、lib、share、support-files”。确保不要复制数据文件夹复制
后,转到 xampp 文件夹,将 mysql 文件夹重命名为 mysql_old。创建新的 mysql 文件夹,然后粘贴复制的内容
步骤 5:转到 mysql_old 并复制数据文件夹并将其粘贴到新的 mysql 文件夹中
步骤 6:转到 xampp 中的 mysql 中的 bin 文件夹并创建一个空白的 my.ini 文件。如果您要升级到版本 5.6.11(我就是这么做的),那么您所要做的就是编写一些命令,这些命令位于本说明的底部
步骤 7:单击 xampp 控制面板上 MySQL 旁边的“开始”,如果您正确遵循说明,它应该会正常启动。完成后,您可以卸载已安装到 C:\TEMP 的 mysql 包。
如有任何问题或疑问,请给我留言或回复!
顺便说一句,关键是要有一个正确的 my.ini 文件
这是我的:
[client]
port=3306
socket="C:/xampp/tmp/mysql.sock"
[mysqld]
port= 3306
socket = "C:/xampp/tmp/mysql.sock"
pid_file = mysql.pid
skip-federated
explicit_defaults_for_timestamp
basedir="C:/xampp/mysql"
datadir="C:/xampp/mysql/data"
tmpdir = "C:/xampp/tmp"
log-output = FILE
log-error = mysql_error.log
general-log
general_log_file = mysql_general.log
slow-query-log
slow_query_log_file = mysql_slow.log
default-time-zone = -5:00
long_query_time = 2
plugin_dir = "C:/xampp/mysql/lib/plugin"
server-id = 2
#ft_stopword_file = "C:/xampp/mysql/bin/mysql_ft_stopword_file.ini"
ft_min_word_len = 3
ft_max_word_len = 50
character-sets-dir = "C:/xampp/mysql/share/charsets"
character-set-server = utf8
collation-server = utf8_unicode_ci
innodb_ft_max_token_size = 50
innodb_ft_min_token_size = 3
innodb_ft_enable_stopword = off
key_buffer_size = 8M
query_cache_type = 1
query_cache_size = 4M
query_cache_limit = 4M
default-storage-engine = InnoDB
[mysql]
default-character-set=utf8
答案2
我尝试了 @Seul Shahkee 的解决方案,效果很好,但就我而言,我还将 my.ini 文件从旧的 bin 文件夹复制到了新的 mysql 文件夹。但似乎某些配置变量不再受支持,所以我只是将它们注释掉,它似乎有效。到目前为止。虽然不能 100% 保证。
下载最新的 MySQL,但下载 zip 文件而不是 MSI(安装程序)。
将 zip 文件解压到某个位置。
从 XAMPP 控制面板关闭 Mysql 进程(无需删除服务)。
进入 XAMPP 文件夹,将 mysql 文件夹重命名为 mysql_old
将新解压的mysql文件夹复制到XAMPP文件夹,在其中删除数据文件夹。
将数据文件夹从 mysql_old 复制到新的 mysql 文件夹。
将mysql_old/bin下的my.ini文件复制到mysql/bin。
从 my.ini 文件中删除(注释掉)参数 table_cache = 64。请注意,根据版本,可能需要注释掉其他参数,并且可能需要设置新参数来弥补已弃用的参数。
将其他 ini 和可执行文件从 mysql_old 根文件夹复制到 mysql(XAMPP ini 文件、my-huge.ini、my-small.ini 等)。
从 XAMPP 控制面板运行 mysql 进程。应该可以工作。(您可能需要先终止 XAMPP)。
(可选)运行
mysql/bin/mysql_upgrade.exe -u USERNAME -p
以更新本地数据库中可能由于版本更改而出现问题的表。
答案3
我所做的是
- 删除 xampp mysql 服务并停止它
- 从安装 mysql 服务器dev.mysql.com/downloads/installer
- 添加无需密码的用户 root 和 pma(在安装时执行此操作最简单)
我现在有一个功能齐全的 phpmyadmin :D
答案4
我跟着这指导并使其发挥作用。
然而我意识到似乎没有 32 位的 mysql 社区服务器 8.0.13(截至发布此答案时的最新版本)zip 文件,而 XAMPP 只能运行这个文件;正如他在底部所述。
确保您已安装 32 位版本的 MySQL。MySQL 64 位版本与 XAMPP 控制面板不兼容。