osx中安装mysql数据库

本文详细介绍如何在Mac上安装MySQL,并提供启动、关闭服务的方法。此外,还讲解了通过mysql_secure_installation进行安全性配置的过程,包括设置密码验证策略、移除匿名用户等步骤。最后,介绍了基本的数据库操作命令。

1、安装mysql

brew install mysql

2、启动或关闭mysql

brew services start mysql(启动)或 mysql.server start
brew services stop mysql(停止)

3、mysql相关权限配置

3.1、执行:/usr/local/Cellar/mysql/5.7.14/bin/mysql_secure_installation ,进行一些初始化配置。

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : n

 ... skipping.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 
3.2、创建数据库
mysql -u root -p 以root权限进入
create database test; 创建数据库语句
drop database test; 删除数据库语句
show databases;显示数据库

create user 'yourusername'@'127.0.0.1/localhost' identified by 'yourpassword’; 创建用户
GRANT ALL ON test.* TO '<span style="font-family: -webkit-standard;">yourusername</span>'@‘127.0.0.1/localhost' IDENTIFIED BY 'yourpassword’; 给用户授权
select user,host from mysql.user; 查询用户及端口
select user(),current_user(); 查询用户

mysql -u youusername -p 以用户权限进入


参考: python使用mysql数据库

<think>我们正在讨论在U盘上安装和配置数据库的解决方案。用户希望将数据库安装在U盘中,这样数据库可以随身携带,即插即用。考虑到U盘的便携性和存储限制,我们需要选择轻量级、支持嵌入式或单文件存储的数据库。 根据用户之前的上下文,用户提到了SQLite(在之前的回答中已经详细说明),以及引用中提到了MySQL。但MySQL通常需要安装到系统,不适合直接安装在U盘中(因为涉及服务启动、配置文件路径等系统依赖)。而SQLite是嵌入式数据库,整个数据库就是一个文件,非常适合U盘使用。 因此,我们推荐使用SQLite作为U盘数据库解决方案。另外,也可以考虑其他嵌入式数据库如SQL Server Compact Edition或HSQLDB,但SQLite是最轻量且广泛支持的。 解决方案步骤: 1. **选择数据库类型**:SQLite(无需安装,只需一个可执行文件和数据库文件)。 2. **准备U盘**:将SQLite的命令行工具(或库)和数据库文件存放在U盘中。 3. **配置**:在U盘中创建数据库文件,并编写脚本(如批处理或Shell脚本)来方便操作。 4. **使用**:在任意电脑上插入U盘,通过命令行或程序访问数据库。 详细步骤: **步骤1:下载SQLite命令行工具** - 访问SQLite官方下载页面:https://www.sqlite.org/download.html - 下载预编译的二进制文件(根据操作系统选择): - 对于Windows:`sqlite-tools-win32-x86-*.zip`(注意:32位兼容性好) - 对于Linux:`sqlite-tools-linux-x86-*.zip` - 对于Mac:`sqlite-tools-osx-x86-*.zip` - 解压下载的zip文件到U盘根目录(例如,在U盘中创建一个`sqlite`文件夹存放)。 **步骤2:创建数据库文件** - 将U盘插入电脑。 - 打开命令提示符(Windows)或终端(Linux/Mac),切换到U盘中的`sqlite`目录。 - 运行SQLite命令行工具创建数据库(例如,创建一个名为`mydatabase.db`的数据库文件): ```bash ./sqlite3 mydatabase.db ``` 在Windows中,运行`sqlite3.exe mydatabase.db`。 - 在SQLite命令行中,可以执行SQL语句创建表、插入数据等。例如: ```sql CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT); INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'); ``` - 退出SQLite命令行:`.exit` **步骤3:编写脚本简化操作(可选)** - 为了方便在U盘中打开数据库,可以编写一个简单的脚本。 - 对于Windows,在U盘根目录创建一个`run.bat`文件,内容如下: ```bat @echo off cd %~dp0\sqlite sqlite3.exe mydatabase.db ``` - 对于Linux/Mac,创建一个`run.sh`文件(并赋予执行权限`chmod +x run.sh`): ```bash #!/bin/bash cd "$(dirname "$0")/sqlite" ./sqlite3 mydatabase.db ``` **步骤4:使用数据库** - 将U盘插入任意电脑,运行对应的脚本(Windows双击`run.bat`,Linux/Mac执行`./run.sh`)即可进入SQLite命令行操作数据库。 - 另外,也可以在其他编程语言中通过SQLite驱动访问U盘中的数据库文件(需要相应语言环境)。例如: - Python:使用内置的`sqlite3`模块,指定数据库文件路径为U盘中的文件。 ```python import sqlite3 # 假设U盘在Windows中是F盘,在Linux中是/media/usb conn = sqlite3.connect('F:/mydatabase.db') # Windows # 或者Linux: conn = sqlite3.connect('/media/usb/mydatabase.db') cursor = conn.cursor() cursor.execute("SELECT * FROM users") print(cursor.fetchall()) conn.close() ``` **注意事项**: - **文件路径**:在不同电脑上,U盘的盘符或挂载路径可能不同,需要在脚本或程序中动态处理(例如,让用户选择路径或通过相对路径)。 - **写保护**:如果U盘被写保护,数据库将无法更新。确保U盘没有开启写保护开关。 - **数据安全**:SQLite在写入数据时,如果突然拔出U盘可能导致数据库损坏。建议在操作完成后等待几秒再拔出,或使用事务来减少风险。 - **兼容性**:SQLite数据库文件是跨平台的,可以在不同操作系统之间迁移。 如果用户需要更复杂的数据库功能(如多用户并发访问),可以考虑使用便携版的MySQL或SQL Server Express,但安装和配置会复杂得多,且需要确保目标电脑有相应的环境。对于大多数轻量级需求,SQLite是最佳选择。 相关问题: 1. 如何防止U盘中的SQLite数据库文件损坏? 2. 如何在不同的操作系统(Windows/Linux/Mac)上自动识别U盘路径? 3. 如何加密U盘中的SQLite数据库?</think>### 在U盘中安装和配置数据库的解决方案 在U盘上安装数据库可以实现便携式数据存储,特别适合需要随身携带数据库的场景(如演示、临时工作环境)。以下是具体实现方案,**重点推荐SQLite**(因其零配置、单文件特性最适合U盘场景): --- #### 方案1:SQLite(首选方案) **特点**:无需安装数据库即单个文件,即插即用 **适用场景**:轻量级应用、个人项目、数据迁移 ##### 安装步骤: 1. **下载SQLite命令行工具**: - 访问 [SQLite官网下载页](https://www.sqlite.org/download.html) - 下载对应操作系统的预编译工具包(如 `sqlite-tools-win32-x86-*.zip`) 2. **部署到U盘**: ```bash U盘路径/ ├── sqlite3.exe # Windows可执行文件 ├── mydatabase.db # 数据库文件(自动创建) └── run.bat # 启动脚本(内容如下) ``` `run.bat` 内容: ```bat @echo off .\sqlite3.exe mydatabase.db ``` 3. **使用示例**: ```sql -- 创建表 CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT); -- 插入数据 INSERT INTO users (name) VALUES ('张三'); -- 查询数据 SELECT * FROM users; ``` 4. **跨平台使用**: - **Windows**:双击 `run.bat` - **Linux/macOS**:终端执行 `./sqlite3 mydatabase.db` - **编程调用**(Python示例): ```python import sqlite3 conn = sqlite3.connect('/media/usb/mydatabase.db') # Linux挂载路径 ``` --- #### 方案2:MySQL便携版(需谨慎) **特点**:功能完整但配置复杂 **适用场景**:需要完整SQL功能的中型应用 ##### 安装步骤: 1. **下载免安装版**: - 访问 [MySQL社区版下载页](https://dev.mysql.com/downloads/mysql/) - 选择 **ZIP Archive** 版本(如 `mysql-8.0.xx-winx64.zip`) 2. **U盘部署**: ```bash U盘路径/ ├── mysql/ # 解压后的MySQL目录 ├── data/ # 数据库存储目录 └── start_mysql.bat # 启动脚本(内容如下) ``` `start_mysql.bat` 内容: ```bat @echo off set BASEDIR=%~dp0mysql %BASEDIR%\bin\mysqld --console --datadir=%~dp0data --port=3307 ``` 3. **初始化数据库**: ```bash # 首次运行前执行初始化 .\mysql\bin\mysqld --initialize-insecure --datadir=.\data ``` 4. **注意事项**: - 需手动指定端口(避免与主机MySQL冲突) - 不同电脑需重新初始化(因系统路径变化) - 性能受U盘读写速度限制[^1] --- #### 方案3:SQLite浏览器(GUI工具) **特点**:可视化操作,适合非技术人员 **步骤**: 1. 下载 [DB Browser for SQLite](https://sqlitebrowser.org/dl/) 2. 将安装包和`.db`文件存入U盘 3. 在任意电脑安装后打开数据库文件 --- ### 关键注意事项 1. **U盘性能**: - 避免高频写入操作(SQLite更可靠) - 建议使用USB 3.0+高速U盘 2. **数据安全**: ```sql -- SQLite加密示例(需编译支持) PRAGMA key='mypassword'; ``` - 或使用第三方工具加密U盘 3. **路径问题**: - 在代码中使用相对路径(如 `./mydatabase.db`) - 避免绝对路径依赖(如 `C:\...`) 4. **跨平台兼容**: - SQLite文件可在Windows/Linux/macOS无缝迁移 - MySQL需重新初始化系统路径[^2] > 💡 **最佳实践**:优先选择SQLite方案,数据库文件可直接通过邮件/网盘传输,无需处理安装依赖。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值