zoukankan      html  css  js  c++  java
  • MySQL 重装

    由于之前第一次装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

  • 相关阅读:
    前端知识点--CSS overflow 属性
    js排序——sort()排序用法
    vue知识点---element el-date-picker 插件默认时间属性default-value怎么赋值?
    vue知识点----element UI+vue关于日期范围选择的操作,picker-options属性的使用
    JS_点击事件_弹出窗口_自动消失
    Echarts +ajax+JSONPObject 实现后台数据图表化
    Floyd弗洛伊德算法
    线程中join方法和Sleep方法的举例
    循环注册十个账号,保证程序重启之后,使用这十个账号都能登录成功
    替换文本文件内容
  • 原文地址:https://www.cnblogs.com/foreverycc/p/5510817.html
Copyright © 2011-2022 走看看