一、在线安装
官网: dev.mysql.com
选择版本,
下载好了之后点击安装:
我选择自定义安装
默认安装路径:C:\Program Files\MySQL\MySQL Server 5.6
文件目录介绍:
查看服务是否启动:
命令行:mysql -uroot -p
输入密码
如果服务没有启动
则数据库连接不成功
可以通过命令开启服务:
net start mysql56
退出
配置文件编码方式, 解决latin1编码方式: 保证客户端、数据库、服务器编码一致
配置文件位置:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
常用命令:
# 启动服务
net start mysql56
# 停止服务服务
net stop mysql56
# 连接数据库
mysql -uroot -p
# 退出数据库,ctrl+C 不适合5.6
exit、quit、\q
# 服务器IP地址-h,-P3306 默认端口号
mysql -h127.0.0.1 -uroot -p -P3306 --promote=xsx # 制定命令行提示符
创建数据库db1
地址在:C:\ProgramData\MySQL\MySQL Server 5.6\data
该文件夹是隐藏的,需要
显示数据库SHOW DATABASES
创建制定编码方式的数据库与查看
# 查看数据详细信息
SHOW CREATE DATABASE db1;
# 创建数据库并制定编码方式
CREATE DATABASE IF NOT EXISTS db3 DEFAULT CHARACTER SET='GBK';
# 修改已知数据库的编码方式
ALTER DATABASE db3 DEFAULT CHARACTER SET='utf8';
# 打开数据库
USE db3;
# 当前打开的数据库名称
SELECT DATABASE();
# 删除数据库
DROP DATABASE db3;
# 如果有警告信息,则可显示
SHOW WARNINGS
# 查看帮助手册
help或者\h int
\h create database
开启日志:记录所有操作
\T 文件路径
\T C:\Users\Administrator\Desktop\log.txt
存储引擎选择:
默认InnoDB: 支持事务完整性、崩溃修复、高并发,存储效率低、空间占用大
MyISAM: 3中存储方式,静态(默认)、动态、压缩(小),不支持事务,并发; 数据存储、插入、读取迅速。
MyMORY: 数据存储在内存中,安全性不高,表不能太大,hash索引,断电数据消失
# 有中文时 临时设置客户端编码: SET NAMES GBK;
# 注释内容
-- 注释内容
-- 创建st数据库
CREATE DATABASE IF NOT EXISTS st DEFAULT CHARACTER SET 'UTF8';
USE st;
# 学员表(user) 编号id 用户名username 年龄age 性别sex 邮箱email 地址addr 生日birth 薪水salary 电话tel 是否结婚 married
# 有中文时 临时设置客户端编码: SET NAMES GBK;
-- 字段注释 通过COMMENT + 内容
CREATE TABLE IF NOT EXISTS user(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM('男','女','保密'),
email VARCHAR(50),
addr VARCHAR(200),
birth YEAR,
salary FLOAT(8,2),
tel INT,
married TINYINT(1) COMMENT '0代表未结婚,非代表结婚'
) ENGINE=INNODB CHARSET=UTF8;
# 新闻分类表
CREATE TABLE IF NOT EXISTS news_cf(
id TINYINT,
newsname VARCHAR(50),
newsdesc VARCHAR(200) # 后面不能加逗号,否则出错
)ENGINE=MyISAM CHARSET=UTF8;
和INNODB不同,frm文件存储表结构,MYD存储表数据,MYI存储表索引
查看表结构:
# 查看表结构
# DESC news_cf;
# DESCRIBE news;
# SHOW COLIMNS FROM news;
判断字符的长度
select length("啊"); # 3
select char_length("啊"); # 1
完整性约束
CREATE TABLE IF NOT EXISTS user2(
id INT,
username VARCHAR(20),
card CHAR(18), # 身份证
PRIMARY KEY(id,card) # 复合主键
);
复合主键:
mysql -uroot -proot st --prompt=\d~\D~\u~\h
st为打开的数据库名称 u为用户名 h为主机
st~Sun Jan 17 16:47:36 2021~root~localhost
二、离线安装
下载zip包
配置mysql配置信息
my-default.ini
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
basedir = D:\Develop\MySQL\mysql-5.6.39-winx64
datadir = D:\Develop\MySQL\mysql-5.6.39-winx64\data
port = 3306
# 设置mysql客户端默认字符集
default-character-set=utf8
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
安装MySQL服务
命令行提示符-管理员身份运行-安装mysql服务
mysqld --install
查看服务
卸载MySQL服务命令:
mysqld --remove
初始化MySQL:
mysqld --initialize-insecure --user=mysql
启动MySQL服务:
> net start mysql
关闭MySQL服务:
> net stop mysql
三、修改密码
删除MySQL Server 8.0/data下所有文件
初始化mysql
mysqld --initialize-insecure --user=mysql
启动mysql服务
net start mysql
命令行登录mysql
mysql -u root -p
输入密码时直接按回车进入
修改密码
use mysql;
select user, plugin from user where user=‘root;
alter user "root"@"localhost" identified with mysql_native_password by "123456";
第一次登陆是不需要密码的,直接输入命令后,回车即可:
mysql -u root -p
为 root 用户设置密码为 123456 :
set password for 'root'@'localhost' = '123456';
四、创建新用户并授予权限
创建用户并授予权限
create user 'test'@'%' identified with mysql_native_password by '密码';
‘%’ - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问
//指定数据库
grant all privileges on 想授权的数据库.* to '用户名'@'%';
//全部数据库
grant all privileges on *.* to 'test'@'%';