mac安装mysql

1. 更新 Homebrew

brew update

2. 安装 MySQL

brew install mysql

3. 启动 MySQL(仅当前会话需要时启动)

mysql.server start

4. 初始化 MySQL 安全设置(设置 root 密码等)

mysql_secure_installation <<EOF

Y
123456
123456
Y
Y
Y
Y
EOF

5. 测试登录 MySQL

mysql -u root -p

注:
1、使用时启动mysql:

使用时启动:mysql.server start,停止:mysql.server stop

2、开机自启mysql服务:

brew services start mysql

3、初始化 MySQL 安全设置命令解释

mysql_secure_installation <<EOF
Y
123456
123456
Y
Y
Y
Y
EOF

mysql_secure_installation:MySQL 提供的一个安全初始化脚本,用来做 初始密码设置、移除匿名用户、禁用远程 root 登录、删除测试数据库 等操作。

<<EOF ... EOF:这是 bash 的 here-document 语法,把多行输入传给命令,相当于在执行脚本时自动输入这些选项。
第一行 Y

作用:确认是否设置 root 用户密码。

因为 MySQL 安装后 root 默认没有密码,所以这里选择 Y(Yes)来设置密码。

第二行 123456

作用:设置 root 用户的新密码,这里示例为 123456。

第三行 123456

作用:确认输入的 root 密码,确保没输错。

第四行 Y

作用:询问是否 删除匿名用户。

建议选择 Y,删除匿名用户可以提高数据库安全性,防止未经授权访问。

第五行 Y

作用:询问是否 禁止 root 远程登录。

选择 Y 可以防止 root 用户通过网络登录 MySQL,提高安全性(一般开发环境可以留着远程访问,但生产环境最好禁止)。

第六行 Y

作用:询问是否 删除测试数据库。

默认安装 MySQL 时会有一个 test 数据库,所有用户都可以访问。选择 Y 删除它,提高安全性。

第七行 Y

作用:重新加载权限表,让上面修改的权限立即生效。

mysql常用命令

一、连接 / 退出 MySQL

mysql -u root -p                # 登录
mysql -h 127.0.0.1 -P 3306 -u root -p   # 指定主机和端口
exit;                           # 退出

🟦 二、数据库操作

SHOW DATABASES;                          -- 查看所有数据库

CREATE DATABASE test_db;                 -- 创建数据库
CREATE DATABASE test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

DROP DATABASE test_db;                   -- 删除数据库

USE test_db;                              -- 选择数据库

SELECT DATABASE();                        -- 查看当前使用数据库

🟦 三、数据表操作

SHOW TABLES;                              -- 查看当前库所有表

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  age INT,
  create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

DROP TABLE users;                         -- 删除表

DESCRIBE users;                           -- 查看表结构
SHOW CREATE TABLE users;                  -- 查看建表语句

ALTER TABLE users ADD email VARCHAR(100); -- 新增字段
ALTER TABLE users DROP COLUMN age;        -- 删除字段
ALTER TABLE users MODIFY name VARCHAR(100); -- 修改字段类型

🟦 四、增删改查(CRUD)

插入数据
INSERT INTO users(name, age) VALUES('Tom', 18);

查询数据
SELECT * FROM users;
SELECT name, age FROM users WHERE age > 18 ORDER BY age DESC;

修改数据
UPDATE users SET age = 20 WHERE name="Tom";

删除数据
DELETE FROM users WHERE id = 1;

🟦 五、用户与权限管理

CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';     -- 创建用户
GRANT ALL PRIVILEGES ON test_db.* TO 'test'@'localhost';   -- 赋予权限
FLUSH PRIVILEGES;                                          -- 刷新权限

REVOKE ALL PRIVILEGES ON test_db.* FROM 'test'@'localhost';-- 回收权限
DROP USER 'test'@'localhost';                              -- 删除用户


允许远程访问(常用于服务器):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

🟦 六、备份与恢复 (很常用)

导出数据库
mysqldump -u root -p test_db > test_db.sql

导入数据库
mysql -u root -p test_db < test_db.sql

🟦 七、实战示例:从零创建完整流程

CREATE DATABASE shop;
USE shop;

CREATE TABLE product(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    price DECIMAL(10,2)
);

INSERT INTO product(name, price) VALUES("iPhone", 6999);
SELECT * FROM product;
posted @ 2025-12-08 13:47  STRIVE-PHY  阅读(11)  评论(0)    收藏  举报