下载链接:
解压后在bin目录下找到 mysql.exe 和 mysqld.exe,对于mysql.exe 和 mysqld.exe可以理解为 C/S 中的服务器与客户端关系:
- mysqld.exe 服务器端
- mysql.exe 客户端
MySQL 配置文件搜索路径:
C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
XXX\mysql-8.0.20-winx64\my.ini
XXX\mysql-8.0.20-winx64\my.cnf
其中 XXX 表示目录路径
在以上任意目录创建ini或cnf文件,配置如下:
[mysql]
# 设置客户端字符集
default-character-set = UTF8MB4
[mysqld]
# 设置端口
port = 3306
# 设置mysql目录
basedir = **XXX**\mysql-8.0.20-winx64
# 设置mysql数据库的数据存放目录
datadir = E:\mysql_data
# 允许最大链接数
max_connections = 20
# 服务器端字符集默认为8比特编码的latin1字符集
character-set-server = UTF8MB4
# 创建新表时将使用的默认存储引擎 mysql默认为INNODB
default-storage-engine = INNODB
#身份验证插件 详情参见 --[备注9]:--
#在MySQL 5.7中,默认的身份验证插件是 mysql_native_password
#mysql5.8开始将caching_sha2_password作为默认的身份验证插件
default-authentication-plugin=mysql_native_password
其中 XXX 表示目录路径
初始化 数据库
mysqld --initialize-insecure --console(不设置root密码,建议使用)
mysqld --initialize --console(生成一个随机的root密码)
// --console 显示信息到控制台窗口;如果未配置此参数,则数据仓库中会有.err后缀的日志文件;
启动MySQL服务器端:
mysqld.exe
查看MySQL服务
1 windows
netstat -aon|findstr “3306” //配置中的端口号
tasklist|findstr “状态号” //上一个命令获得
查看MySQL服务
mysql.exe 登录
mysql -h host -P 3306 -u root -p 无密码 后直接回车
设置密码
设置密码
- mysql下
set password for root@localhost = password('YourPassword');
//高版本MySQL 无效
- 或者使用mysqlamdin修改root密码
mysqladmin -u root -p password NewPassword
//高版本MySQL 无效
- 高版本修改密码:
经过测试:
直接修改密码的命令:ALTER USER root@localhost IDENTIFIED BY 'pwd';
有效;
//以下为老方法
1) use mysql;
2) update user set authentication_string='' where user='root';// 如果这个字段有值,先置为空
3) flush privileges;// 刷新权限表
4) 执行select user,host from user;// 查看用户及host,方便后续修改
5) ALTER user 'root'@'%' IDENTIFIED BY 'root@123';// 修改root 密码
//如果出错试用一下语句:
//alter user 'root'@'localhost' identified by '新密码';
//或者 alter user'root'@'localhost' identified with mysql_native_password by '新密码';
6) exit;//退出mysql
简单操作
1) 查看数据库
show databases; //所有数据库列表
create database dbName; //创建数据库
use dbName; //选择数据库
select database(); //查看当前使用的是哪个数据库
select version(); //查看版本
show variables like '%char%'; //查看一些配置
show tables; //显示数据表列表
2) 查看数据表中的条目:
desc tableName;
describe tableName;
show columns from tableName;
show create table tbl_name; //显示已经创建的表,创建时的语句
show create database db_name; //显示已经创建的库,创建时的语句
show create event event_name; //示已经创建的事件,创建时的语句
show create function func_name; //显示已经创建的函数,创建时的语句
show create procedure proc_name; //显示已经创建的存储过程,创建时的语句
show create trigger trigger_name; //显示已经创建的触发器,创建时的语句
show create view view_name; //示已经创建的视图,创建时的语句
3) 清空数据表中所有条目:
truncate table 表名; //清空全部数据,不写日志,不可恢复,速度极快
delete from 表名; //清空全部数据,写日志,数据可恢复,速度慢
4) 导入sql脚本:
source path; //path sql 文件路径
5) MySql添加字段命令[3]:
-- 向t_user表添加user_age字段
ALTER TABLE t_user ADD COLUMN user_age int(11) DEFAULT NULL COMMENT '年龄' AFTER user_email;
t_user:表名
user_age:添加的字段名称
int(11):字段类型和长度
DEFAULT NULL:默认为NULL
'年龄':字段含义注释
AFTER user_email:在user_email字段之后添加user_age字段
6) 修改字段长度:
ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50);
tb_article为表名,NAME为字段名,50为修改后的长度
7) 修改字段类型:
ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50);
修改后,name字段类型由varchar变为char
8) 修改列:
ALTER TABLE tb_article CHANGE name1 name2 VARCHAR(30);
name1为修改前的列名,name2为修改后的列名。
这里在修改列的时候,也可以改变列的类型或者长度
9) 删除列:
ALTER TABLE tb_article DROP COLUMN name2;
10) 删除约束
alter table 表名 modify 列名 类型; //删除not null约束
alter table 表名 drop index 唯一约束名; //删除unique约束
alter table 表名 drop primary key; //删除primary key约束
alter table 表名 drop foreign key 外键名; //删除foreign key约束
-
命令后跟随\g \G
- \g 的作用是分号和在sql语句中写’;’是等效的
- \G 的作用是将查到的结构旋转90度变成纵向
退出
- mysqladmin退出
mysqladmin -u root -p shutdown - mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;
mysql中Tinyint(1)和Tinyint(4)的区别
- mysql中Tinyint(1)和Tinyint(4)的区别
参考:
- mysql数据库show variables和status
- 解决mySQL占用内存超大问题(优化范畴)
- MySQL数据表添加字段(三种方式)[3]
- Mysql中修改字段类型、长度以及添加删除列
- MySQL中int(M)和tinyint(M)数值类型中M值的意义
- mysqld_safe与mysqld区别详解
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- mysql5.7 对比8.0
- MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件