在mac os上安装mysql
我正在尝试在mac os 10.6上使用Homebrew通过brew install mysql 5.1.52
来设置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:连接到服务器'localhost' 失败的错误:'拒绝用户root'@'localhost'(使用密码:否)'
我试着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
但我也得到了
错误1045(28000):访问被拒绝用户'root'@'localhost'(使用密码:否)
我认为可以用已经安装的老版本的mysql来完成这个任务。 我有同样的问题,没有上述解决scheme为我工作。 我这样解决它:
使用brew的remove
& cleanup
命令,卸载launchctl
脚本,然后删除/usr/local/var
的mysql目录,删除我现有的/etc/my.cnf
(如果适用的话,将其留给你)和launchctl plist
更新了plist的string。 另请注意,您的备用安全脚本目录将基于您要安装的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
-
运行brewbuild议的命令(参见下面的注释)
unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
-
使用
mysql.server start
命令启动mysql,以便能够login它 -
使用备用安全脚本:
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
-
跟在
launchctl
包脚本输出中的launchctl
部分,#start launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist #stop launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
-
繁荣。
希望帮助别人!
注意: brew cleanup
上的--force
也会清理过时的桶,认为这是一个新的自制function。
请注意第二个:评论者说第二步不是必需的。 我不想testing它,所以YMMV!
有同样的问题。 好像设置说明或正在创build的初始表有问题。 这就是我的机器上运行mysqld的方式。
如果mysqld服务器已经在您的Mac上运行,请先停下来:
launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
使用以下命令启动mysqld服务器,任何人都可以使用完全权限login。
mysqld_safe --skip-grant-tables
然后运行mysql -u root
,现在应该让你无需密码login成功。 以下命令应该重置所有的根密码。
UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;
现在,如果您终止mysqld_safe的运行副本,并在不使用skip-grant-tables选项的情况下重新启动它,则应该可以使用mysql -u root -p
和您刚刚设置的新密码login。
这里有详细的说明,结合摆脱所有的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
- 运行Brewbuild议的命令,将MySQL添加到
launchctl
以便在启动时自动启动
现在mysql
应该可以正常运行,并且可以按照预期一直运行
一帆风顺。
我刚才也有同样的问题。 如果你brew info mysql
并按照步骤,它看起来像根密码应该是new-password
如果我没有记错的话。 我看到了你所看到的同样的东西。 这篇文章对我最有帮助。
原来我没有为我创build任何帐户。 当我login后运行mysqld_safe
,并select * from user;
没有行被返回。 我打开mysqld_safe
运行的MySQLWorkbench,并添加了一个包含我所期望的所有priv的root
帐户。 现在这个对我来说很好。
好吧,我有同样的问题,并解决它。 出于某种原因,使用Homebrew来安装mysql时,mysql_secure_installation脚本不能正常工作,所以我手动完成了。 在CLI中input :
mysql -u root
这应该让你进入MySQL。 现在执行以下操作(取自mysql_secure_installation):
UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root'; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%' DROP DATABASE test; FLUSH PRIVILEGES;
现在用mysql -u root -p
退出并回到mysql
如果brew安装了MySQL 5.7,这个过程与以前的版本有点不同。 要重置根密码,请按以下步骤操作:
sudo rm -rf /usr/local/var/mysql mysqld --initialize
临时密码将被打印到控制台,并且只能用于更新根密码:
mysql.server start echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot -pTEMPORARY_PASSWORD
酿造信息mysql
mysql: stable 5.6.12 (bottled) http://dev.mysql.com/doc/refman/5.6/en/ Conflicts with: mariadb, mysql-cluster, percona-server /usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) * Poured from bottle From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb ==> Dependencies Build: cmake ==> Options --enable-debug Build with debug support --enable-local-infile Build with local infile loading support --enable-memcached Enable innodb-memcached support --universal Build a universal binary --with-archive-storage-engine Compile with the ARCHIVE storage engine enabled --with-blackhole-storage-engine Compile with the BLACKHOLE storage engine enabled --with-embedded Build the embedded server --with-libedit Compile with editline wrapper instead of readline --with-tests Build with unit tests ==> Caveats A "/etc/my.cnf" from another install may interfere with a Homebrew-built server starting up correctly. To connect: mysql -uroot To reload mysql after an upgrade: launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
mysql.service启动
. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
或者mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我正在寻找解决scheme一段时间,但我无法解决我的问题。 我尝试了几个解决scheme在stackoverflow.com,但没有这个帮助我。
如果mysql已经安装
完全停止mysql。
-
mysql.server stop
< – 可能需要根据你的版本进行编辑 -
ps -ef | grep mysql
ps -ef | grep mysql
< – 用mysql名字列出进程 -
kill [PID]
< – 通过PID杀死进程
删除文件。 上面的说明很好。 我将补充:
-
sudo find /. -name "*mysql*"
- 使用你的判断,
rm -rf
这些文件。 请注意,许多程序有你不想删除的MySQL的驱动程序。 例如,不要删除PHP安装目录中的东西。 在自己的mysql目录中删除东西。
安装
希望你有自制。 如果没有,请下载。
我喜欢以root身份运行brew,但我不认为你必须这样做。
-
sudo brew update
-
sudo brew install cmake
< – 依赖于mysql,很有用 -
sudo brew install openssl
< – 对mysql的依赖,很有用 -
sudo brew info mysql
< – 浏览这个…它给你一些下一步将要发生的事情 -
sudo brew install mysql --with-embedded; say done
sudo brew install mysql --with-embedded; say done
< – 与embedded式服务器安装MySQL。 告诉你什么时候结束(我的安装花了10分钟)
之后
-
sudo chown -R mysql /usr/local/var/mysql/
< – 直到我运行这个命令时,mysql才会工作 -
sudo mysql.server start
< – 再一次,确切的语法可能会有所不同 - 在mysql中创build用户( http://dev.mysql.com/doc/refman/5.7/en/create-user.html )。 记得为root用户添加一个密码。
尝试通过授予MySQL的授予权限命令
上面的答案(或其他地方的几十个答案中的任何一个)在使用最新版本的mysql和yosemite的brew时都适用于我。 我最终通过brew安装了一个不同的mysql版本。
通过说(例如)指定一个旧版本
brew install mysql56
为我工作。 希望这有助于某人。 这是一个令人沮丧的问题,我觉得我永远被困住了。
TL; DR
安装Brew后MySQL服务器可能不运行。 尝试brew services start mysql
或只是mysql.server start
如果你不希望MySQL作为后台服务运行。
全文:
我刚安装MySQL(stable)5.7.17在一台运行Sierra的新MacBook Pro上,运行mysql_secure_installation
时也出现错误:
Securing the MySQL server deployment. Enter password for user root: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
说什么?
根据Brew的安装信息, mysql_secure_installation
应该提示我…确保安装。 我觉得MySQL服务器可能没有正常运行。 运行brew services start mysql
,然后mysql_secure_installation
像魅力一样工作。
我尝试重新启动mysql后,我有同样的问题。
为方便起见,我在.profile中使用了以下两个别名
alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
在停止mysql后,然后尝试重新启动我遇到了你遇到的问题。 我看着launchctl负载,它报告“没有发现加载”错误。
快速search后,我发现这..
http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/
所以我更新了我的mysql-start
别名,如下所示
alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
这解决了我的问题,可能对你有用。
Mysql的“Base-Path”存储在/etc/my.cnf
,当你升级时不会更新。 只要打开它并更改basedir值
例如,更改这个:
[mysqld] basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13
指向新版本:
[mysqld] basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19
重新启动mysql:
mysql.server start
- 我怎样才能解决“错误:在多个水龙头发现的公式”?
- Homebrew brew医生警告/Library/Frameworks/Python.framework,甚至连brew的Python安装
- Node.js没有链接错误
- 你如何在Mac上安装ssh-copy-id?
- 优胜美地/ El Capitan php-gd + mcrypt安装
- 如何连接PyCharm和PySpark?
- 如何在OS X上看到我的$ PATHvariables的当前值?
- Homebrew + Python的Mac OS X 10.8:致命的Python错误:PyThreadState_Get:当前没有线程导入mapnik
- 删除位于Brew安装位置以外的Python框架文件的最安全方法是什么?