安装

  1. 下载

    MySQL

    Untitled

    Untitled

    Untitled

    下载老版本

    Untitled

    Untitled

    提示需要登录,直接点击直接下载也可以

    Untitled

  2. 双击下载好的pkg文件按提示安装

    系统偏好配置中可直接启动、关闭,

    Untitled

    Untitled

  3. 但是我们先关闭,然后才能用命令控制 mysql,不然会报错

    ERROR! MySQL is running but PID file could not be found

  4. 启动

    sudo mysql.server start
    
  5. 配置环境变量

    # 进入vim 编辑环境
    sudo vim ~/.zshrc
    

    shift+g,把光标移动到最后一行,按o,在下边添加一行,且光标移动下一行 ,输入

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

    按下esc 退出 insert 模式,输入:wq保存配置文件。

    :wq
    

    在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功

    source ~/.zshrc
    echo $PATH
    
  6. 启动

    sudo mysql.server start
    # 登陆
    mysql -u root -p
    # 提示输入密码,直接回车即可
    

    MySQL服务的启停和状态的查看

    # 停止MySQL服务
    sudo mysql.server stop
    
    # 重启MySQL服务
    sudo mysql.server restart
    
    # 查看MySQL服务状态
    sudo mysql.server status
    
  7. 设置初始化密码

    <aside> 💡 ⚠️:0.3 版本在安装时,会设置密码,8位,这里就不需要了

    </aside>

    进入数据库

    mysql -u root -p
    

    之后执行下面的语句,设置当前 root 用户的密码为 root。

    set password = password('root');
    -- 退出
    exit
    
  8. 配置

    进入到/usr/local/mysql/support-files目录。里面有个文件:my-default.cnf

    复制到/etc目录下,并改名为 my.cnf,然后将内容替换为

    [mysqld]
    default-storage-engine=INNODB
    character-set-server=utf8
    port = 3306
    
    [client]
    default-character-set=utf8
    

    重启 mysql

    检测修改结果

    mysql -u root -p
    
    show variables like '%char%';
    

问题解决

  1. 执行sudo mysql.server status命令报错

    ERROR! MySQL is running but PID file could not be found

    mysql面板关闭,然后在终端开启msyql

    取消勾选Automatically Start MySQL Server on Startup(启动系统时mysql服务器自起)

    Untitled

docker 安装

docker pull mysql:8.0.34

docker run -p 3306:3306 --name tmp-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.34
# 复制配置文件
docker cp tmp-mysql:/etc ~/dockerServer/etc/mysql
docker rm -f tmp-mysql

etc/localtime:/etc/localtime
etc:/etc
logs:/var/log/
data:/var/lib/mysql
mysql-files:/var/lib/mysql-files

docker exec -it tmp-mysql bash
mysql -u root -p
# 查看mysql版本
select version();

docker run -p 3306:3306 \\
--name run-mysql \\
-e MYSQL_ROOT_PASSWORD=123456 \\
-v ~/dockerServer/etc/mysql/my.cnf:/etc/my.cnf \\
-v ~/dockerServer/log/mysql:/var/log \\
-v ~/dockerServer/data/mysql:/var/lib/mysql \\
-v ~/dockerServer/data/mysql-files:/var/lib/mysql-files \\
-d mysql:8.0.34