升级High Sierra后无法连接MySQL服务器,遇重载函数参数错误求助
Hey there, I’ve run into this exact issue before when jumping from El Capitan to High Sierra—let me walk you through the fixes that worked for me and other developers in the community. That TextBox_append_text_with_encoding error is almost always tied to compatibility mismatches between your MySQL tools and the updated system frameworks in High Sierra.
Possible Solutions to Try:
1. Update or Replace Your MySQL GUI Client
This error is most commonly triggered by outdated GUI tools (like older versions of Sequel Pro or MySQL Workbench) that haven’t been updated to work with High Sierra’s system libraries:
- If you’re using Sequel Pro: Ditch the stable release and grab the latest beta build (it fixes High Sierra compatibility), or switch to Sequel Ace—an actively maintained fork of Sequel Pro that’s built for newer macOS versions.
- If you’re using MySQL Workbench: Upgrade to version 8.0 or later. Older 6.x builds have known issues with High Sierra’s framework changes.
2. Fully Uninstall and Reinstall MySQL (With Cleanup)
A basic reinstall might leave behind leftover system files that cause conflicts. Try this thorough cleanup:
- First, completely remove all MySQL traces:
sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/PreferencePanes/MySQL* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/Receipts/mysql* sudo rm -rf ~/Library/Application\ Support/MySQL - Install MySQL 5.7 instead of 5.6 (it’s far more compatible with High Sierra). After installation, run the upgrade tool to sync system tables:
sudo mysql_upgrade -u root -p - Restart the MySQL service to apply changes:
sudo launchctl unload /Library/LaunchDaemons/com.mysql.mysqld.plist sudo launchctl load /Library/LaunchDaemons/com.mysql.mysqld.plist
3. Fix System Library Links
High Sierra updated the paths for libssl and libcrypto libraries, which older MySQL versions rely on. Fix the links with these commands:
sudo ln -sf /usr/lib/libssl.0.9.8.dylib /usr/local/lib/libssl.dylib sudo ln -sf /usr/lib/libcrypto.0.9.8.dylib /usr/local/lib/libcrypto.dylib
Note: This only applies to MySQL 5.6/5.7—newer MySQL versions don’t need this workaround.
4. Test Connection via Terminal First
Rule out GUI client issues by connecting directly through Terminal:
mysql -u root -p
If this works, your problem is definitely with the GUI tool—switching to an updated client will solve it. If Terminal also throws errors, check your /etc/my.cnf config file for outdated parameters (like innodb_flush_method) that conflict with High Sierra.
内容的提问来源于stack exchange,提问作者Gustav Michael Lfstrm Jandrup

