MacOS13 m1 安装 mysql8.0.32
一、安装mysql
1、下载安装包
选择 MySQL Community Server 版本
MySQL :: Download MySQL Community Server (Archived Versions)
2、可视化安装
选择强密码策略
3、环境变量配置
cat .zshrc export PATH=$PATH:/usr/local/mysql-8.0.32-macos13-arm64/bin export PATH=$PATH:/usr/local/mysql-8.0.32-macos13-arm64/support-files
4、服务端运行状态查看或服务启动停止
系统偏好设置 - MySQL
5、配置
Mac下mysql配置文件没有my.cnf和my-default.cnf。需要手动建一个
cat /usr/local/mysql/etc/my.cnf [client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' skip-character-set-client-handshake = true [mysql] default-character-set = utf8mb4
6、命令行启动
sudo /usr/local/mysql/support-files/mysql.server stop Shutting down MySQL ... SUCCESS! sudo /usr/local/mysql/support-files/mysql.server start Starting MySQL . SUCCESS!
7、终端登陆测试
打开终端,命令行输入:mysql -u root -p
8、忘记密码重置
方式一:跳过授权表
1. 先停止mysqld服务
2. 进入mysql文件夹,终端输入: cd /usr/local/mysql/bin
点击回车;
3. 进入安全模式,输入:sudo ./mysqld_safe --skip-grant-tables &
点击回车
再次启动一个新的终端(之前那个放着不动)
4. 终端输入:mysql
点击回车;
5. 终端内输入:use mysql
点击回车;
6. 设置root账户为空密码,终端内输入:UPDATE user SET authentication_string='' where user='root';
点击回车;
7. 刷新权限:flush privileges;
点击回车;
8. 退出 exit
。
方式二:使用mysqladmin权限
mysqladmin -u root -p OLD_PASSWORD password NEW_PASSWORD
二、mysql客户端补全命令:mycli
1、官网
2、macOS 安装
$ brew install mycli
3、配置文件
cat ~/.myclirc
4、连接mysql server
mycli -u root -h 127.0.0.1 --database oldboy MySQL mycli 1.26.1 Home: http://mycli.net Bug tracker: https://github.com/dbcli/mycli/issues Thanks to the contributor - cxbig MySQL root@127.0.0.1:oldboy> select * from student; 18 rows in set Time: 0.010s MySQL root@127.0.0.1:oldboy>
5、收藏sql命令
查询所有保存内容:\f
收藏命令: \fs 别名 保存一个查询
MySQL root@127.0.0.1:oldboy> \fs sx flush privileges; Saved.
执行收藏的sql语句: \f 别名 运行
MySQL root@127.0.0.1:oldboy> \f cx Time: 0.006s
\fd 别名 删除收藏的一条sql语句
MySQL root@127.0.0.1:oldboy> \fd cx cx: Deleted Time: 0.001s
6、多行模式
MySQL root@127.0.0.1:oldboy> create table student1 ( -> id int, -> name varchar(32), -> age int, -> score double(4,1), -> insert_time timestamp);