在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的removecleanup命令,卸载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
  • 运行Brew建议的命令,将MySQL添加到launchctl以便在启动时自动启动
  • mysql现在应该可以工作,并且可以按预期一直运行

    一帆风顺。

    链接地址: http://www.djcxy.com/p/63335.html

    上一篇: brew install mysql on mac os

    下一篇: Redmine unable to start 500 error