为了将旧的 XAMPP 升级到较新的版本,我将文件夹重命名C:\XAMPP
为,C:\XAMPP_OLD
并使用 安装较新的版本xampp-win32-5.6.8-0-VC11-installer.exe
到C:\XAMPP
。然后我运行setup_xampp.bat
,将 MySQL 用户重命名root
为cubinator
,为该用户设置密码,并将以下几行config.inc.php
从
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
到
$cfg['Servers'][$i]['user'] = 'cubinator';
$cfg['Servers'][$i]['password'] = '...';
之后,我将旧数据库文件夹复制到C:\XAMPP\mysql\data
。为了测试到目前为止一切是否正常,我通过 XAMPP 控件启动了 MySQL 服务器。在命令提示符中,我输入了以下内容:
C:\XAMPP\mysql\bin>mysql -u cubinator -p
Enter password: ********
mysql>use my_db
Database changed
mysql>show tables;
... (List of my tables. Everything fine so far) ...
mysql>select * from one_of_my_tables;
ERROR 1146 (42502): Table 'my_db.one_of_my_tables' doesn't exist.
这也发生在phpMyAdmin:我点击了my_db
,这样我就可以看到我的表格列表。但是点击这些表格时,它们并不存在。我检查了我的data
目录,但所有.frm
和.ibd
文件都存在并且不为空。
我需要在某处登记我的桌子吗?
答案1
与其将数据文件夹从一个 MySQL 安装复制到另一个(这是不可靠的),为什么不使用类似mysqldump?
使用示例:
mysqldump --all-databases > mydb.sql
然后导入新的数据库:
mysql < mydb.sql