1.18 MySQL 使用总结

1.18.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,这时也请将其卸载再重新安装吧。

brew remove mysql

什么?没有用过 brew?这么好用的包管理器,必须安利你用起来。

由于后面安装mysql也将使用 brew,所以你必须安装。方法如下

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

由于默认的 brew 源是国外的,非常非常地慢,建议换成国内的源,方法如下

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 版本的。

brew install mysql@5.7

经过漫长的等待后,mysql 终于安装成功

image0

这时候,再 执行 pip install MySQL-python,发现还是报错。

image1

有经验的我,立马知道了 mysql_config 这个文件的路径可能没有在环境变量中。

image2

然后,我又重新执行 pip install MySQL-python ,发现还是报错。

image3

但是这个错误相对比较明显,明眼人一看就知道是权限不足。

那我就以 root 权限去安装好了。

image4

终于安装成功,折腾了两个晚上(主要是网速慢)。

1.18.2 Mac 启动MySQL服务

使用 brew 安装 mysql 成功后,又陷入了一个坑。。

就是无法通过正常的 mysqld start 去启动,也无法使用图形界面去启动。

我原以为是旧数据的影响,然后把所有的旧数据清空后发现,仍然无法启动,从错误日志中没有发现可行的解决方案。

最后我才认定这是安装方法导致的启动方式的差异。使用brew 安装的mysql也需要使用brew启动myql

# 启动 mysql, 并设置为开机启动
brew services start mysql
# 关闭 mysql
brew services stop mysql
# 重启 mysql
brew services restart mysql

启动后,如何设置初始化密码呢?

cd /usr/local/Cellar/mysql@5.7/5.7.25/bin
./mysql_secure_installation

选择密码强度,视情况而写,我这边选最强的,长度大于8,有数字,有大小写,有特殊字符。

image5

接下来还会问你,是否删除其他匿名用户,是否删除 test 数据库,是否允许远程使用root登陆(安全起见我选不允许)。

一切设置完成后,就可以直接使用 root 登陆数据库。

mysql -uroot -p

1.18.3 Win上忘记密码

# 先将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

1.18.4 命令行使用技巧

image6