配置 MySQL

配置 MySQL
DustWind一.Windows 环境下安装 MySQL
在 Windows 环境下安装 MySQL 主要是借助 Visual Studio 的 MSVC 工具集进行开发。后续当然还是将工程迁移到 Linux 系统上最好。
在 MySQL 官网(MySQL官网))可以看到三种方式:安装器,压缩包,调试测试版本。
对于开发和运维而言,前面两种是最常用的。通过安装器安装直接通过 MySQL Installer 可执行文件运行即可。下面详细阐述通过压缩包安装
1.1 下载并安装 MySQL 服务
此方法通过下载压缩包然后自己解压配置 MySQL 环境。
- 首先,选择开发需要的稳定版本压缩包并下载。笔者这里选择
8.0.41版本安装。 - 然后,将对应版本 MySQL 压缩包解压到想要安装的位置笔者安装到下面的路径。
1 | D:\SoftWare\DeveloperEnv\MySQL\mysql-8.0.41 |
- 在解压完的 MySQL 目录创建一个
my.ini文件并填入如下内容
1 | [mysqld] |
- 在 MySQL 安装目录的 bin 目录下打开终端并输入如下命令初始化 MySQL 数据库
1 | 初始化 MySQL 生成一个随机密码 |
- 在 MySQL 安装目录的 bin 目录下以管理员身份打开终端并输入如下命令安装并运行 MySQL 服务
1 | # 安装 MySQL 服务并运行 |
1.2 修改 MySQL 密码
Win+R输入services.msc找到名为mysql的服务项并设置为自动启动,这样系统每次开机会自动启动 MySQL 服务。
- 依然是在 MySQL 安装目录的 bin 目录下打开终端并输入如下命令安装并运行 MySQL
1 | .\mysql.exe -uroot -p |
第一次运行,此处输入的密码为之前初始化生成的随机密码
- 进入 MySQL 终端命令行后将密码更改为自己记住的密码
1 | 修改密码为123456 |
成功之后下一次登录 MySQL 时用最新的密码即可。
1.3 配置环境变量
由于 MySQL 解压缩到一个不知名路径下,每次只能在 MySQL 安装目录下的 bin 目录中调用终端运行 MySQL 命令行,系统无法找到此程序的路径,因此需要配置系统环境变量。
- 打开系统环境变量然后创建一个
MySQL_HOME然后将MySQL_HOME添加到path变量中。
添加 MySQL_HOME 结果:
添加 path 变量结果:
添加环境变量后运行 MySQL 结果:
1.4 JDBC 风格接口
下载 Mysql Connector C++ 库
标准 MySQL 服务提供的数据库访问接口是基于 C 语言风格的,为适应面向对象编程设计,改用 Mysql Connector C++ 库提供的接口访问 MySQL。
[!tip]
Mysql Connector C++版本要与开发环境相对应,如果开发环境为debug版本,那么Mysql Connector C++也需要下载debug版本;反之,如果开发环境为release版本,那么Mysql Connector C++也需要下载release版本。否则会报terminate called after throwing an instance of 'std::bad_alloc'错误.
在 MySQL 官网(Mysql Connector C++)下载对应版本,由于在此 Windows 环境下为 debug 版本,因此 Mysql Connector C++ 也下载 debug 版本。笔者这里选择 8.3.0 版本安装。
VS 工程配置 Mysql Connector C++
- 将下载的压缩包解压到安装目录,这里笔者将其放置在 MySQL 同一路径下统一管理。
1 | D:\SoftWare\DeveloperEnv\MySQL\mysql-8.0.41 |
- 在 Visual Studio 工程中配置如下项:
在 VC++ 目录 的 包含目录项 添加如下路径:
1 | D:\SoftWare\DeveloperEnv\MySQL\mysql-connector-c++-8.3.0\include |
在 VC++ 目录 的 库目录项 添加如下路径:
1 | D:\SoftWare\DeveloperEnv\MySQL\mysql-connector-c++-8.3.0\lib64\vs14 |
将 D:\SoftWare\DeveloperEnv\MySQL\mysql-connector-c++-8.3.0\lib64\debug 目录下的 mysqlcppconn8-2-vs14.dll 和mysqlcppconn9-vs14.dll 两文件拷贝到项目根目录下。
同时为了编译后程序能正常运行,需要将这两文件拷贝到 debug 环境中,因此可以通过在 生成事件->生成后事件 中添加如下代码自动复制这两个动态库文件。
1 | xcopy "$(ProjectDir)config.ini" "$(SolutionDir)$(Platform)\$(Configuration)\" /y |
二.Linux 环境下安装 MySQL
Linux的 MySQL 库直接编译安装即可。ArchLinux 系统中安装 MySQL 即可。
2.1 安装
直接在官方仓库获取 MySQL 包。
1 | sudo pacman -S mysql |
[!tip]
在 ArchLinux 的软件仓库中,mysql这个包实际提供的是 MariaDB(一个广泛兼容的 MySQL 分支)。对于大多数情况,它们的使用方式是一致的。如果要安装 Oracle 官方的 MySQL,可能需要添加其他第三方源,但 MariaDB 通常是推荐且更易于维护的选择。
2.2 初始化
使用如下命令进行 MySQL 数据库初始化,初始化会生成系统数据库表和 root 用户临时密码
1 | 初始化 MySQL 生成一个随机密码 |
初始化结果示例如下图:
[!tip]
/var/lib/mysql目录非空导致初始化失败,需要先清理该目录(注意:这会删除所有现有MySQL数据),然后再重新执行初始化
2.3 基本配置
启动服务
初始化成功就可以启动 MySQL 服务器端
1 | 立即启动服务 |
登录服务
然后登录到 MySQL 命令行,此处登录的密码为初始化时生成的随机密码
1 | mysql -u root -p |
修改密码
为方便下次登录,可更改密码:
1 | # 修改密码为123456 |
更改成功后,下次登录使用新的密码
配置环境变量
为了方便地在任何路径下直接使用 mysql等命令,你可以将 MySQL 的可执行文件路径添加到系统的环境变量 PATH中。
编辑配置文件
/etc/profile:1
sudo vim /etc/profile
在文件末尾添加以下行:
1
2export MYSQL_HOME=/usr
export PATH=$PATH:$MYSQL_HOME/bin
[!tip]
MySQL 的默认安装路径可能在/usr/bin,该路径通常已在PATH中,如需指定MYSQL_HOME可参考此步骤
- 保存文件后,使用
source命令使更改立即生效:1
source /etc/profile
图形化管理
在 Linux 系统上可以安装图形化数据库管理工具,例如 DBeaver。使用 pacman 安装 DBeaver,也可以在 AUR 仓库中获取 Navicat:
1 | sudo pacman -S dbeaver |
[!tip]
DBeaver 和 DataGrip 是同种类型风格的数据库管理软件,而 Navicat 风格稍有区别
2.4 JDBC 风格接口
采用 JDBC 封装接口依然需要 MySQL 的配置环境,它与 C 封装接口区别在于 JDBC 封装接口更适应面向对象编程设计
1 | 安装 MySQL 开发包(用于 C API),同时也是 MySQL Connector/C++ 所依赖环境 |
手动源码安装 MySQL Connector/C++
- 安装依赖:
1
sudo pacman -S base-devel cmake gcc openssl boost
【待更新】
从官方源下载最新版本
访问 MySQL Connector/C++ 下载页面获取最新下载链接(当前最新版本为 8.1.0)。
【待更新】
2.5 测试与编译
C 封装接口就不做过多测试,实际开发过程更多是使用 C++,因此只设计针对 JDBC 封装接口的测试用例
三.Docker 环境下安装 MySQL
将 MySQL 部署到 Docker 环境中可以有效隔绝外部攻击,通过设置不同策略实现安全访问 MySQL 服务。笔者在云服务器 Linux 系统上部署 Docker 环境,并在 Docker 环境中部署 MySQL 实现远程访问 MySQL 服务。
具体安装流程可以参看 [[Docker 配置 Redis 和 MySQL]]




















