在mac os上安装mysql
我试图通过brew install mysql 5.1.52
使用Homebrew在mac os 10.6上设置MySQL。
一切顺利,我也成功使用了mysql_install_db
。
但是,当我尝试使用以下命令连接到服务器时:
/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'
我得到:
/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
我试图mysqladmin or mysql using -u root -proot
来访问mysqladmin or mysql using -u root -proot
,
但无法使用或不使用密码。
这是一台全新机器上的全新安装,据我所知,新安装必须无需root密码即可访问。 我也试过:
/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation
但我也得到了
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我认为可以用已经安装的老版本的mysql来结束这个职位。 我有同样的问题,没有上述解决方案为我工作。 我这样解决它:
使用brew的remove
& cleanup
命令,卸载launchctl
脚本,然后删除/usr/local/var
的mysql目录,删除我现有的/etc/my.cnf
(如果适用,请将其留给你)和launchctl plist
更新了plist的字符串。 另请注意,您的备用安全脚本目录将基于您正在安装的MySQL版本。
一步步:
brew remove mysql
brew cleanup --force
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql
然后我从头开始:
brew install mysql
运行brew建议的命令:(参见下面的注释)
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
使用mysql.server start
命令启动mysql,以便能够登录它
使用备用安全脚本:
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
跟随brew包脚本输出中的launchctl
部分,例如,
#start
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#stop
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
繁荣。
希望能帮助别人!
注意: brew cleanup
上的--force
位也会清理过时的桶,认为这是一个新的自制功能。
请注意第二个:评论者说第2步不是必需的。 我不想测试它,所以YMMV!
有同样的问题。 似乎设置说明或正在创建的初始表有问题。 这就是我在我的机器上运行mysqld的方式。
如果mysqld服务器已经在您的Mac上运行,请先停下来:
launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
使用以下命令启动mysqld服务器,任何人都可以使用完全权限登录。
mysqld_safe --skip-grant-tables
然后运行mysql -u root
,它现在应该让您无需密码即可成功登录。 以下命令应该重置所有根密码。
UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;
现在,如果您终止mysqld_safe的运行副本并在没有skip-grant-tables选项的情况下重新启动它,则应该可以使用mysql -u root -p
和您刚刚设置的新密码登录。
下面是详细的说明,结合摆脱所有的MySQL从你的Mac,然后安装它作为Sedorner酿造方式上面写道:
根据技术实验室完全删除MySQL
ps -ax | grep mysql
kill
任何MySQL的进程 sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
/etc/hostconfig
并删除该行MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
mysql
,它不应该工作 Brew从这个StackOverflow答案中为每个用户安装MySQL Sedorner
brew doctor
并修复任何错误 brew remove mysql
brew cleanup
brew update
brew install mysql
unset TMPDIR
mysql_install_db --verbose --user=
whoami --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
mysql.server start
launchctl
以便在启动时自动启动 mysql
现在应该可以工作,并且可以按预期一直运行
一帆风顺。
链接地址: http://www.djcxy.com/p/63335.html