安装MySQL
在官方下载地址下载压缩包。
解压到要保存的路径,在 环境变量 -> 系统变量 -> Path 里面添加一行,指向MySQL的bin目录,如D:\mysql-8.0.33-winx64\bin
。
在MySQL的bin文件夹里新建文件my.ini
,文件内容为:
1 | [mysqld] |
记得把其中的路径换成你自己的安装路径。
然后以管理员身份打开cmd,进入MySQL的bin目录,输入:
1 | # 安装 mysql 服务 |
然后将my.ini里跳过授权给注释掉# skip-grant-tables
输入\q
退出登录MySQL,然后重启MySQL用新设置的密码登录即可:
1 | net stop mysql |
mysql -uroot -p
这句意思是用户名为root
,也可以在-p
后直接跟密码,这样密码是可见的。
Windows Server 2022 上遇到的问题
安装MySQL和初始化data文件夹时报错:找不到MSVCP140.dll
文件
解决方法:安装 Microsoft Visual C++ Redistributable 客户端库,点击前往下载。
输入net start mysql
时报错:服务没有响应控制功能
解决方法:下载VCRUNTIME140_1.dll,解压后拷贝到MySQL的bin文件夹下。
远程连接数据库
开放MySQL端口
首先要确保服务器的MySQL端口是放行的,在my.ini中我们设置了3306端口。
以阿里云服务器为例,在安全组中手动添加访问规则,目的端口3306,源0.0.0.0。
若端口没有放行,则会有以下报错:
1 | ERROR 2003 (HY000): Can't connect to MySQL server on 'XXX.XXX.XXX.XXX:3306' (10060) |
设置远程登录权限
在服务器上登录MySQL,然后输入:
1 | use mysql; |
若没开启权限,则报错:
1 | ERROR 1130 (HY000): Host 'XXX.XXX.XXX.XXX' is not allowed to connect to this MySQL server |
远程登录MySQL
在自己的电脑上打开cmd,输入:
1 | mysql -h主机地址 -u用户名 -p |
MySQL数据的备份
终端进入MySQL安装目录下的bin目录,执行指令:
1 | mysqldump -uroot -p 数据库名 > 备份文件路径及文件名 |
MySQL备份数据的还原
登录MySQL后执行以下指令:
1 | create database 数据库名称; // 创建一个新的数据库用于承载迁移来的数据 |
存储过程 / Procedure
相当于编程语言中的方法,定义SQL语句模板,可以传参调用。
创建一个存储过程,用于查询某种花的价格,调用后删除:
1 | delimiter $$ |
其中delimiter
作用是修改SQL语句结束符,避免存储过程中的;
和语句结束符混淆。
触发器 / Trigger
在数据插入、修改、删除时自动执行某些操作,可用于数据库日志记录等。
创建一个触发器,当录入一种花但未给出花语时,将花语设为“暂无”:
1 | delimiter $$ |