macOS完全卸载使用dmg安装的mysql

本文介绍了在使用MySQL创建表时遇到timestamp字段无法设置0000-00-00 00:00:00为默认值的问题及解决方法。包括尝试修改默认时间值、更改my.cnf配置文件以及重装MySQL等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

凤头

事情的起因是当我执行这段sql语句时报错:

CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
  `name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名',
  `email` varchar(30) NOT NULL DEFAULT '' COMMENT '邮箱',
  `is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否是超级管理员 1表示是 0 表示不是',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效',
  `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间',
  `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
  PRIMARY KEY (`id`),
  KEY `idx_email` (`email`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='用户表';

报错的原因是timestamp 在目前版本默认不支持设置0000-00-00 00:00:00 为默认值。


猪肚

改默认时间

我在慕课网相关评论里边看到,只要把默认时间设置为1997-01-01 00:00:00 就可以了。

尝试>>>>>>>>>>>>>>>>>>>>>>失败

改配置文件my.cnf

据说可以修改/etc/my.cnf 中的sql_mode 使timestamp 支持设置0000-00-00 00:00:00 为默认值。

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然而我却发现: 我并没有 /etc/my.cnf …..

于是,将/usr/local/mysql/support-files/my-default.cnf 复制到 /etc/my.cnf

并配置

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后进入系统设置,重启 mysql ,结果…..


豹尾

接下来我就开始准备卸载 mysql ,转用 brew 重装 mysql

删除 mysql 管理程序

进入 「系统偏好设置」 右键点 「mysql」 删除之。

~~擦屁股~~ 删除 mysql 残留文件

sudo rm -rf /usr/local/mysql
sudo rm -rf /usr/local/opt/mysql
sudo rm -rf /usr/local/share/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/include/mysql
sudo rm -rf /usr/local/Cellar/mysql
sudo rm -rf /usr/local/bin/mysql

大概,,,删除完了吧。。。CleanMyMac 再清理一下吧,,,可怕

### macOS 卸载 MySQL 并全新重装教程 #### 卸载旧版本的 MySQL 为了确保新版本能够正常工作,在重新安装之前需要彻底移除现有的 MySQL 版本。通过 Homebrew 来执行卸载操作: ```bash brew uninstall mysql ``` 这会停止并移除由 Homebrew 管理的所有与 MySQL 相关的服务和软件包[^1]。 #### 清除残留文件 除了使用 Homebrew 进行基本卸载外,还需要手动清理一些可能遗留下来的配置文件和其他组件。具体命令如下所示: ```bash sudo rm -rf /usr/local/Cellar/mysql brew cleanup sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* ``` 上述指令可以有效地删除大部分与 MySQL 关联的数据以及配置项,从而为后续的新版部署做好准备[^2]。 #### 重新安装 MySQL 完成以上步骤之后就可以安全地再次引入新的 MySQL 实例了。利用 Homebrew 可以轻松实现这一点: ```bash brew install mysql ``` 此过程不仅会下载最新的稳定发行版,还会自动处理依赖关系,并按照最佳实践来初始化数据库环境[^3]。 #### 设置初始密码策略 初次启动时可能会提示设定 root 用户的安全选项,其中包括定义强效的身份验证机制。建议遵循官方指南调整相应的参数,比如启用更严格的加密算法或是指定最小长度要求等措施来增强安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值