M1 Mac安装MySQL教程;my.cnf文件配置;环境变量配置;完全卸载MySQL教程,亲测有效

本文详细介绍了在macOS13.2.1上下载和安装MySQL8.0.31的步骤,包括设置环境变量、配置my.cnf文件以修改默认字符集,以及如何安全卸载MySQL。同时,文中提到了不同版本MySQL安装时的密码处理方式和在VSCode或PyCharm中连接的注意事项。

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

一:下载MySQL(我的系统版本为:macOS 13.2.1)

下载地址:MySQL :: Download MySQL Community Server

(1)下载所需版本的dmg安装包,点击Archives可以选择历史版本:

619e792d15d54bb7bcc7df04dbb92c1c.jpeg

 (2)这里我选择安装8.0.31。注意:版本8.x.x中所有版本可以在安装过程中设置MySQL的密码,而之前的所有版本(比如5.7.X之类的),系统会在安装过程中弹出一个弹窗,自动生成一个临时密码(一定要记住,截图)

版本8.0.31,蓝色框会显示适配系统,下载第一个.dmg文件即可

b6b96a241c984504a3bccb34cb421b97.jpeg

 下载完成后,双击打开.dmg文件:

da38d147aace47ccb0c9e4b62ecfd167.png

 再次双击安装包,即可安装:

d5fed339048140f685c748943b868c43.png

安装过程会有弹窗提示无法打开,进入系统设置,选择隐私与安全性,在最下面,选择仍要打开:

63f471fc76ef47afbd12b5d88ee68490.jpeg

5652fe241b4a4673800f63ef3a703117.png

 (安装MySQL 5.7版本过程中的临时密码弹窗图)

(3)在后续安装过程中,不要更改默认安装路径,建议选择下面这个Use Legacy Password Encryption,如果选择上面那个,后续项目在VS Code或PyCharm中连接不成功,所以这里选择下面的:

981f257aceaa490cab6b064809000a6e.jpeg

 之后设置密码,需要至少8位:

97953a0bee89407695b3c7e231a3eab7.jpeg

至此,MySQL 8.0.31安装完成,接下来是环境变量的配置。 

二:环境变量配置

(1)打开终端,输入以下命令:

cd ~
vim ./.bash_profile

i键,进入INSERT模式,输入以下两行代码:

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

如图:

b86a8abb95cd446fa2e80843f0e5d143.png

40315dd8b20c4d48845edd558a2cb5fe.jpeg

 最后按esc,输入:wq!(注意有冒号“:”)按回车键退出。

(2)终端登录测试:

打开终端,输入:

mysql -u root -p

如果返回:

67590167016548c7a610524e1f790838.png

 则在终端重新输入:

alias mysql=/usr/local/mysql/bin/mysql

注意:该方法只是临时有效,下次输入mysql -u root -p后,还是会提示:zsh:command not found:mysql,只需再次输入alias mysql=/usr/local/mysql/bin/mysql即可。

三:配置my.cnf文件

(1)在Windows下的Mysql中,安装目录修改my.ini文件就会对默认字符集进行配置,而在Mac下,默认没有配置文件,需要自己手动创建my.cnf文件来配置。在终端输入:

sudo vim /etc/my.cnf

系统提示输入电脑密码,之后进入输入模式,按i键,输入以下内容(不需要做任何修改):

# Example MySQL config file for medium systems.  
  #  
  # This is for a system with little memory (32M - 64M) where MySQL plays  
  # an important part, or systems up to 128M where MySQL is used together with  
  # other programs (such as a web server)  
  #  
  # MySQL programs look for option files in a set of  
  # locations which depend on the deployment platform.  
  # You can copy this option file to one of those  
  # locations. For information about these locations, see:  
  # http://dev.mysql.com/doc/mysql/en/option-files.html  
  #  
  # In this file, you can use all long options that a program supports.  
  # If you want to know which options a program supports, run the program  
  # with the "--help" option.  
  # The following options will be passed to all MySQL clients  
  [client]
  default-character-set=utf8
  #password   = your_password  
  port        = 3306  
  socket      = /tmp/mysql.sock   
  # Here follows entries for some specific programs  
  # The MySQL server  
  [mysqld]
  character-set-server=utf8  
  init_connect='SET NAMES utf8' 
  port        = 3306  
  socket      = /tmp/mysql.sock  
  skip-external-locking  
  key_buffer_size = 16M  
  max_allowed_packet = 1M  
  table_open_cache = 64  
  sort_buffer_size = 512K  
  net_buffer_length = 8K  
  read_buffer_size = 256K  
  read_rnd_buffer_size = 512K  
  myisam_sort_buffer_size = 8M  
# Don't listen on a TCP/IP port at all. This can be a security enhancement,  
# if all processes that need to connect to mysqld run on the same host.  
# All interaction with mysqld must be made via Unix sockets or named pipes.  
# Note that using this option without enabling named pipes on Windows  
# (via the "enable-named-pipe" option) will render mysqld useless!  
#   
#skip-networking  
 
  # Replication Master Server (default)  
  # binary logging is required for replication  
  log-bin=mysql-bin  
 
    # binary logging format - mixed recommended  
    binlog_format=mixed  
 
      # required unique id between 1 and 2^32 - 1  
      # defaults to 1 if master-host is not set  
      # but will not function as a master if omitted  
      server-id   = 1  
 
    # Replication Slave (comment out master section to use this)  
    #  
    # To configure this host as a replication slave, you can choose between  
    # two methods :  
    #  
    # 1) Use the CHANGE MASTER TO command (fully described in our manual) -  
    #    the syntax is:  
    #  
    #    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,  
    #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;  
    #  
    #    where you replace <host>, <user>, <password> by quoted strings and  
    #    <port> by the master's port number (3306 by default).  
    #  
    #    Example:  
    #  
    #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,  
    #    MASTER_USER='joe', MASTER_PASSWORD='secret';  
    #  
    # OR  
    #  
    # 2) Set the variables below. However, in case you choose this method, then  
    #    start replication for the first time (even unsuccessfully, for example  
    #    if you mistyped the password in master-password and the slave fails to  
    #    connect), the slave will create a master.info file, and any later  
    #    change in this file to the variables' values below will be ignored and  
    #    overridden by the content of the master.info file, unless you shutdown  
    #    the slave server, delete master.info and restart the slaver server.  
    #    For that reason, you may want to leave the lines below untouched  
    #    (commented) and instead use CHANGE MASTER TO (see above)  
    #  
    # required unique id between 2 and 2^32 - 1  
    # (and different from the master)  
    # defaults to 2 if master-host is set  
    # but will not function as a slave if omitted  
    #server-id       = 2  
    #  
    # The replication master for this slave - required  
    #master-host     =   <hostname>  
    #  
    # The username the slave will use for authentication when connecting  
    # to the master - required  
    #master-user     =   <username>  
    #  
    # The password the slave will authenticate with when connecting to  
    # the master - required  
    #master-password =   <password>  
    #  
    # The port the master is listening on.  
    # optional - defaults to 3306  
    #master-port     =  <port>  
    #  
    # binary logging - not required for slaves, but recommended  
    #log-bin=mysql-bin  
 
      # Uncomment the following if you are using InnoDB tables  
      #innodb_data_home_dir = /usr/local/mysql/data  
      #innodb_data_file_path = ibdata1:10M:autoextend  
      #innodb_log_group_home_dir = /usr/local/mysql/data  
      # You can set .._buffer_pool_size up to 50 - 80 %  
      # of RAM but beware of setting memory usage too high  
      #innodb_buffer_pool_size = 16M  
      #innodb_additional_mem_pool_size = 2M  
      # Set .._log_file_size to 25 % of buffer pool size  
      #innodb_log_file_size = 5M  
      #innodb_log_buffer_size = 8M  
      #innodb_flush_log_at_trx_commit = 1  
      #innodb_lock_wait_timeout = 50  
 
        [mysqldump]  
        quick  
        max_allowed_packet = 16M  
 
          [mysql]  
          no-auto-rehash  
          # Remove the next comment character if you are not familiar with SQL  
          #safe-updates  
          default-character-set=utf8   
 
        [myisamchk]  
        key_buffer_size = 20M  
        sort_buffer_size = 20M  
        read_buffer = 2M  
        write_buffer = 2M  
 
          [mysqlhotcopy]  
          interactive-timeout
————————————————
 

之后按esc键,输入:wq!(注意有冒号“:”)按回车键退出。

(2)最后在终端输入以下代码,否则mysql并不会读取上面的配置文件

sudo chmod 664 /etc/my.cnf

(3)重启mysql:

alias mysql=/usr/local/mysql/bin/mysql
mysql -u root -p

f642856456f4427f808a04b193e8b90c.png

(4)进入mysql后,查看是否成功配置:

show variables like "character%";

 a75563ad04a140bd9265d5081b39c07d.png

出现以上页面,大功告成!

(5)最后退出mysql:

exit

 476419dff53141de9b7051beac5496dd.png

至此,Mac中MySQL的my.cnf文件配置成功! 

四:(M1)Mac彻底卸载MySQL

(1)终端输入:

cd ~

打开/usr文件

open /usr

(2)桌面会弹出/usr文件夹的窗口,进入到local文件夹,在该目录下进入终端,然后依次输入以下命令:

sudo rm /usr/local/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.*

有些内容可能会提示没有找到,不用管。

(3)卸载完成后,进入系统设置,最下方的MySQL标志消失,代表卸载成功!

a57d000746954e86adee1ddd7269bea6.png

该标志消失,代表卸载成功! 

(4)在安装MySQL后没有更改默认安装路径,通过上述卸载方法,就可以将MySQL完全卸载。

如果更改过默认安装路径,那么除了执行上面的命令之外,检查以下文件中是否含有对应的文件,有的话删除即可。

检查 /usr/local/Cellar 目录是否有mysql文件,有的话删除。
检查 /usr/local/var 里的mysql文件,有的话删除。
检查 /tmp 里的 mysql.sock、mysql.sock.lock、my.cnf 文件,有的话删除。
err文件以及pid文件都是在 /usr/local/var/mysql 中,有的话删除。
brew安装的安装包存储在 /usr/local/Library/Cache/Homebrew ,有的话删除。
最后,在终端执行:

brew cleanup

(5)至此,本篇分享教程结束,欢迎关注!

<think>好的,我现在需要帮助用户找到他们刚下载MySQL配置文件的位置。首先,我得回忆一下MySQL在不同操作系统下的默认配置路径。对于Linux系统,通常是在/etc/mysql/my.cnf或者/etc/my.cnf,而macOS的话可能是在/usr/local/etc/my.cnf或者通过Homebrew安装的话路径又不同。Windows的话则通常在安装目录下的my.ini,比如C:\Program Files\MySQL\MySQL Server 8.0\my.ini。 接下来,用户可能不太清楚不同系统下的差异,所以需要分系统详细说明。另外,用户可能遇到了配置文件找不到的情况,这时候需要提供一些方法来自行查找,比如通过MySQL命令查询datadir或者使用find、locate命令在Linux/macOS下搜索,或者在Windows下使用文件资源管理器的搜索功能。 另外,用户可能对如何修改配置文件有后续的问题,所以需要提前给出注意事项,比如备份原文件、使用管理员权限编辑等。同时,用户可能是在安装后第一次配置MySQL,可能需要创建my.cnfmy.ini文件的情况,这时候需要指导他们如何从样例文件复制或者手动创建。 还需要考虑用户的实际操作能力,给出的命令和步骤要尽量简单明了,避免使用过于复杂的术语。比如在Linux下用sudo找文件,或者Windows下如何通过服务查看路径,这些都需要详细说明步骤,确保用户能一步步跟随操作。 最后,要确保用户明白不同版本MySQL可能存在的路径差异,以及如何确认自己的安装路径,特别是在自定义安装的情况下,配置文件的位置可能不同。因此,强调使用命令行查询和常见路径列表是很重要的。同时,提醒用户修改配置文件后需要重启MySQL服务才能生效,这也是一个关键点,避免用户修改后不见效而产生困惑。</think>--- ### 🔍 MySQL 配置文件默认位置(分系统说明) #### **1. 通用查找方法(推荐)** ```sql -- 登录MySQL后执行(会显示配置文件实际加载路径) SHOW VARIABLES LIKE 'config_file'; -- 8.0+版本专用 SHOW VARIABLES LIKE 'datadir'; -- 配置文件通常和datadir同级 ``` #### **2. 不同系统默认路径** | 操作系统 | 典型路径 | 备注 | |----------|----------|------| | **Linux** | `/etc/mysql/my.cnf` | 最常见路径 | | | `/etc/my.cnf` | 老版本可能在此 | | **macOS** | `/usr/local/etc/my.cnf` | Homebrew安装默认位置 | | | `/opt/homebrew/etc/my.cnf` | M1芯片Mac专用路径 | | **Windows** | `C:\Program Files\MySQL\MySQL Server X.X\my.ini` | 安装目录下 | | | `C:\ProgramData\MySQL\MySQL Server X.X\my.ini` | 隐藏目录需开启显示 | --- ### 🔧 手动定位技巧 #### **Linux/macOS** ```bash # 使用find命令全局搜索(需sudo权限) sudo find / -name "my.cnf" 2>/dev/null # 检查默认加载顺序(按优先级从高到低): # /etc/my.cnf → /etc/mysql/my.cnf → ~/.my.cnf ``` #### **Windows** 1. 打开**服务**(Win+R → `services.msc`) 2. 找到`MySQLXX`服务 → 右键属性 → 查看"可执行文件路径" (如:`"C:\Program Files\MySQL\...\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\my.ini"`) --- ### ⚠️ 特殊情况处理 - **无配置文件时**:MySQL会使用内置默认配置,可手动创建文件 ```bash # Linux/macOS 示例 sudo cp /usr/share/mysql/my-default.cnf /etc/mysql/my.cnf ``` - **自定义安装路径**:如果安装时修改了目录,配置文件会在自定义路径的根目录下 --- ### 📝 配置文件模板示例 ```ini [mysqld] datadir=/var/lib/mysql socket=/var/run/mysqld/mysqld.sock port=3306 character-set-server=utf8mb4 [client] default-character-set=utf8mb4 ``` --- ### 🛠️ 修改配置注意事项 1. **备份原文件**:`cp my.cnf my.cnf.bak` 2. **重启生效**:`sudo systemctl restart mysql`(Linux)或通过服务管理器重启(Windows) 3. **权限问题**:需用管理员身份编辑(如:`sudo nano /etc/mysql/my.cnf`)
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai林承

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值