1.18 MySQL 使用总结 =================== |image0| 1. 安装MySQL-python ------------------- MySQL-python 这玩意实在是太难装了,为了以防后面再踩坑,这里还是记录一下吧。 以下是我成功安装后的总结,别看总结起来很顺利,其实中间经过很痛苦的挣扎。 遇到各种各样的错误,幸亏自己对于这些错误还有一定的辨识处理能力。 首先,要顺利安装 MySQL-python,请先保证你的环境是干净的(MySQL) 因为在我准备安装 MySQL-python 之前,我电脑上使用的MySQL,是 *XAMPP*\ 这个功能强大的建站集成软件包自带的,安装它,就会自动安装一些开发常用的软件 如 Apache,MySQL,PHP,PERL。 使用它的话,MySQL会装在 /Applications/XAMPP/xamppfiles/ 下,与我们正常使用brew 安装的路径不一样,所以经常会有各种使用问题,因此为了不必要的麻烦,保证环境的干净,请先卸载所有其他安装来源的 mysql。 除了 XAMPP 之外,如果之前使用 brew 安装过 mysql,这时也请将其卸载再重新安装吧。 .. code:: shell brew remove mysql 什么?没有用过 brew?这么好用的包管理器,必须安利你用起来。 由于后面安装mysql也将使用 brew,所以你必须安装。方法如下 .. code:: shell /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 由于默认的 brew 源是国外的,非常非常地慢,建议换成国内的源,方法如下 .. code:: shell cd "$(brew --repo)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git brew update 卸载掉所有的 mysql 和 替换源成功后,就可以开始mysql了,这里我还是选择安装的 5.7 版本的。 .. code:: shell brew install mysql@5.7 经过漫长的等待后,mysql 终于安装成功 |image1| 这时候,再 执行 pip install MySQL-python,发现还是报错。 |image2| 有经验的我,立马知道了 ``mysql_config`` 这个文件的路径可能没有在环境变量中。 |image3| 然后,我又重新执行 ``pip install MySQL-python`` ,发现还是报错。 |image4| 但是这个错误相对比较明显,明眼人一看就知道是权限不足。 那我就以 root 权限去安装好了。 |image5| 终于安装成功,折腾了两个晚上(主要是网速慢)。 2. Mac 启动MySQL服务 -------------------- 使用 brew 安装 mysql 成功后,又陷入了一个坑。。 就是无法通过正常的 ``mysqld start`` 去启动,也无法使用图形界面去启动。 我原以为是旧数据的影响,然后把所有的旧数据清空后发现,仍然无法启动,从错误日志中没有发现可行的解决方案。 最后我才认定这是安装方法导致的启动方式的差异。使用brew 安装的mysql也需要使用brew启动myql .. code:: shell # 启动 mysql, 并设置为开机启动 brew services start mysql # 关闭 mysql brew services stop mysql # 重启 mysql brew services restart mysql 启动后,如何设置初始化密码呢? .. code:: shell cd /usr/local/Cellar/mysql@5.7/5.7.25/bin ./mysql_secure_installation 选择密码强度,视情况而写,我这边选最强的,长度大于8,有数字,有大小写,有特殊字符。 |image6| 接下来还会问你,是否删除其他匿名用户,是否删除 test 数据库,是否允许远程使用root登陆(安全起见我选不允许)。 一切设置完成后,就可以直接使用 root 登陆数据库。 .. code:: shell mysql -uroot -p 3. Win上忘记密码 ---------------- .. code:: shell # 先将mysql服务停掉,可以通过命令行,也可以通过“服务”图形界面关闭 net stop mysql; # 切换到 mysql 的 bin 目录下 cd E:\Program Files\MySQL\MySQL Server 5.6\bin # 开启免密服务 mysqld --defaults-file="E:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --skip-grant-tables # 再开一个cmd窗口 mysql -uroot -p # 直接回车 # 修改密码 >use mysql; >UPDATE user SET Password=PASSWORD('123456') where USER='root' and Host='localhost'; >FLUSH PRIVILEGES; >quit # 再重新登陆,用新的密码登陆,发现可以生效 mysql -uroot -p 4. 命令行使用技巧 ----------------- |image7| .. |image0| image:: http://image.iswbm.com/20200602135014.png .. |image1| image:: http://image.iswbm.com/20190615001340.png .. |image2| image:: http://image.iswbm.com/20190615001414.png .. |image3| image:: http://image.iswbm.com/20190615001633.png .. |image4| image:: http://image.iswbm.com/20190615001706.png .. |image5| image:: http://image.iswbm.com/20190615001908.png .. |image6| image:: http://image.iswbm.com/20190615112422.png .. |image7| image:: http://image.iswbm.com/20190705225651.png