由于之前第一次装MySQL,默认的datadir在启动盘中,我想要将datadir移动到更大的存储盘中。无奈网上的各种文章的方法在我这里总是不work。我决定重新用homebrew来装一遍MySQL。

可是由于之前各种尝试导致的乱七八糟的操作过多,以至于我连之前装MySQL的方法也用不了了。无奈之下,只得一步步摸索重来。

1. 彻底清除MySQL

之前混乱操作过多,于是只得相对彻底地把之前的痕迹清除

ps -ax | grep mysql
# stop and kill any MySQL processes # rm files and directories
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 # edit /etc/hostconfig and remove the line MYSQLCOM=-YES- # rm files and directories
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* # try to run mysql, it shouldn't work

注意,除此之外, 还要将以下文件或文件夹好好查看及清理

/tmp/  #这里有mysql.sock 以及 mysql.sock.lock 文件,我之前不小心把lock文件的user改成_mysql了,导致后面一直不work。因此,最好把这两个文件都删掉
/etc/my.cnf #这个文件当时创建以后就没扔,导致后来重装总出问题,也把这个文件删掉

2. brew install

接下来,就可以使用brew来安装了

brew doctor # and fix any errors
brew uninstall 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 #5.7 没有 --tmpdir选项
mysql.server start

接下来应该就没有问题了。

如果还有问题,可能是你之前已经成功登陆,但是忘了

lsof -i TCP:3306 # 找到正在占用ip的process id

kill [pid] # 终止该进程

mysql.server start

Reference

http://stackoverflow.com/questions/4359131/brew-install-mysql-on-mac-os

http://stackoverflow.com/questions/9918062/another-mysqld-server-running-on-port-3306-error

MySQL 重装的更多相关文章

  1. linux mysql重装问题

    系统 :ubuntu16.04 使用apt-get命令安装mysql,启动时出错: can't connect to local mysql server through socket '/var/r ...

  2. mysql重装之后 复制data

    (哇,编程小白的第一篇博客丫,激动) Q one:mysql需要重装,数据该怎么办. 方法一:数据表最好是导出成.sql文件,这样才比较安全. 方法二:直接copy了data文件:在mysql安装盘下 ...

  3. mysql -- 重装mysql失败的解决办法

    最近遇到一些问题,将mysql卸载了重装,但总是出现安装不成功,应该是上一个mysql没卸载干净,于是各种找资料,前后弄了几个小时,终于给弄出来了,结合网上的资料,现总结如下: 1. 打开控制面板-添 ...

  4. Ubuntu彻底删除MySQL重装MySQL

    1.删除 mysql         sudo apt-get autoremove --purge mysql-server-5.0         sudo apt-get remove mysq ...

  5. 把centos 的mysql 重装一下 把原来的lnmp删除,怎么备份还原数据库

    mysqldump --lock-all-tables -u root -p --databases mydb > /opt/database/mydb.sql,或者直接备份mysql的数据存储 ...

  6. mysql重装后出现乱码解决办法

    查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variables like 'char%'; +------------------- ...

  7. Ubuntu 完全卸载MySQL 重装步骤

    sudo rm /var/lib/mysql/ -R 删除mysql的数据文件   sudo rm /etc/mysql/ -R 删除mqsql的配置文件   sudo apt-get autorem ...

  8. Windows下MySQL重装引起问题的解决

    解决了Plugin 'InnoDB' init function returned error问题和error1405那个安全设置密码登陆问题,我个人觉得关键点在于删除C:/Documents and ...

  9. MySQL重装失败,could not start the service MySQL.Error:0

    MySQL5.5 安装失败现象: mysqld.exe [6132] 中发生了未经处理的 win32 异常 could not start the service MySQL.Error:0 1.在 ...

随机推荐

  1. java IO之AutoCloseable,Closeable和Flushable接口

    有3个接口对于流类相当重要.其中两个接口是Closeable和Flushable,它们是在java.io包中定义的,并且是由JDK5添加的.第3个接口是AutoColseable,它是由JDK7添加的 ...

  2. Flapper Bird的学习笔记(三)

    因为我有一个超屌的梦想,所以就绝不会做一个孬种的追梦人! 完成音效的添加 单例模式 游戏的状态切换 1. 单例模式 首先呢,说一下单例模式.何为单例?单例模式是一种常用的软件设计模式.在它的核心结构中 ...

  3. Android 中的常用方法

    //安装apk文件 private void installAPK(File file) {  Intent intent = newIntent(Intent.ACTION_VIEW);  Uri ...

  4. iOS多线程中performSelector: 和dispatch_time的不同

    iOS中timer相关的延时调用,常见的有NSObject中的performSelector:withObject:afterDelay:这个方法在调用的时候会设置当前runloop中timer,还有 ...

  5. LeetCode 7 Reverse Integer int:2147483647-2147483648 难度:2

    https://leetcode.com/problems/reverse-integer/ class Solution { public: int inf = ~0u >> 1; in ...

  6. HDU 4937 Lucky Number(2014 Multi-University Training Contest 7)

    思路:先枚举  a*bas +b = n  求出 bas 在sqrt(n)到n的  (bas>a&&bas>b) 再枚举  a*bas*bas+b*bas+c =n  求出 ...

  7. C# 写的一个生成随机汉语名字的小程序

    最近因为要做数据库相关的测试,频繁使用到测试数据,手动添加太过于麻烦,而且复用性太差,因此干脆花了点时间写了一个生成随机姓名和相关数据的类,贴在这里,有需用的同志们可以参考一下.代码本身质量不好,也不 ...

  8. 第九篇.bootstrap导航

    创建一个标签式的导航菜单的步骤是: 在ul标签上加上class  nav 再ul标签上加上 class .nav-tabs. 在li标签上加上 active表示激活该项 <ul class=&q ...

  9. 浅谈c语言结构体

    对于很多非计算机专业来说,c语言课程基本上指针都不怎么讲,更别说后面的结构体了.这造成很多学生对结构体的不熟悉.这里我就浅谈一下我对结构体的认识. 结构体,就是我们自己定义出一种新的类型,定义好之后, ...

  10. C++的STL

    今天,看一段代码的时候发现只一句话就做了个排序,是这样的: sort(rotateArray.begin(),rotateArray.end()); 很震惊,后来查了一下sort的用法, sort函数 ...