MySQL安装
双击MySQL安装文件mysql-installer-community.msi,出现安装类型选项。
- Developer Default:开发者默认
- Server only:只安装服务器端
- Client only:只安装客户端
- Full:安装全部选项
- Custom:自定义安装
记住MySQL的监听端口默认是3306。
安装了MySQL软件。安装位置为:C:\Program Files\MySQL
安装了MySQL数据文件夹,用来存放MySQL基础数据和以后新增的数据。安装位置为C:\ProgramData\MySQL\MySQL Server 8.0
在MySQL数据文件夹中有MySQL的配置文件:my.ini
。它是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的。
port=3306 | 监听端口是3306 |
---|---|
basedir=“C:/Program Files/MySQL/MySQL Server 8.0/” | 软件安装位置 |
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data | 数据文件夹位置 |
default_authentication_plugin=caching_sha2_password | 默认验证插件 |
default-storage-engine=INNODB | 默认存储引擎 |
MySQL服务
Windows Service中有MySQL的服务项, 打开后才可以登录使用MySQL
或者在MySQL的bin目录,通过命令行开启mysql服务,net start mysql
,关闭是net stop mysql
MySQL登录
mysql.exe需要带参数执行,无法直接点击打开
“可以考虑给bin目录配置环境变量”
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -hlocalhost -uroot –p
- mysql:bin目录下的mysql.exe
-h
:host主机名。后面跟要访问的数据库服务器的地址;如果是登录本机,可以省略-u
:user 用户名。后面跟登录数据的用户名-p
: password 密码。一般不直接输入,而是回车后以保密方式输入
mysql的用户名和密码在安装的时候有设置(MySQL管理员账户名称是root)
简单使用
退出数据库:quit
或exit
或\q;
MySQL层次结构:数据库->表->字段->记录(每一行就是一条记录)
.sql脚本的执行
-
在cmd命令行中执行
mysql -hlocalhost -u root -p 密码 <SQL脚本路径
-
在MySQL内执行
先登录mysql,source SQL脚本路径
mysql> source E:/test.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.02 sec)
Query OK, 0 rows affected, 7 warnings (0.04 sec)
Query OK, 1 row affected (0.02 sec)
Query OK, 1 row affected (0.00 sec)
MySQL卸载
- 停止MySQL服务:在命令行模式下执行net stop mysql或者在Windows服务窗口下停止服务
- 在控制面板中删除MySQL软件,再去两个文件夹确认一下
- 删除软件文件夹:直接删除安装文件夹C:\Program Files\MySQL,其实此时该文件夹已经被删除或者剩下一个空文件夹。
- 删除数据文件夹:直接删除文件夹C:\ProgramData\MySQL。此步不要忘记,否则会影响MySQL的再次安装。
图形客户端使用MySQL
常用的有phpadmin,navicat,SQLyog
下载之后和MySQL建立连接,填写MySQL的用户名,密码,ip,端口。
连接可能会报错
该错误的原因是在MySQL8之前版本中加密规则mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。此处采用第二种方式。
设置密码永不过期
alter user 'root'@'localhost' identified by 'root' password expire never;
设置加密规则为mysql_native_password
alter user 'root'@'localhost' identified with mysql_native_password by 'root';