安装mysql /更改配置文件 /sql语句(库,表,数据)

安装mysql /更改配置文件 /sql语句(库,表,数据)

一:数据库的相关概念

1.本质就是个c/s构架的套接字程序

2.数据库软件类型:

(1)关系型:MySQL,Oracle,数据组织比较清晰,方便管理

存数据前先把表或者数据建好,用户和权限之间是有关系和约束的

(2)非关系型:以k对应一个value,表和表不需要对应关系

如:Redis,memcache,mongobd

3.sql语句:是为使用者规定好的一些命令格式和规范

4.数据库核心概念总结:

(1)数据:事物的状态

(2)记录:文件中的一条信息

(3)表:一个文件

(4)库:文件夹

(5)数据库管理软件:套接字程序 服务端:mysqld 客户端mysql 默认端口是3306

(6)数据库服务器:运行mysqld 服务端的计算机

二:mysql的安装

1.安装

(1)

#1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/

#2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64

#3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

#4、初始化(服务端)
mysqld --initialize-insecure

#5、启动MySQL服务
mysqld # 启动MySQL服务

#6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器

安装

cmd-mysqld 启动客户端 cmd-mysql -u root -p 启动客户端 默认没有密码

或者

mysql -h 127.0.0.1 -P 3306 -uroot -p

(2)注意事项:

以管理员的身份运行cmd

# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
 
# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
 
# 关闭MySQL服务
net stop mysqlMySQL 服务无法启动时候:(1)服务中终止后再打开即可(2)输入netstat -aon|findstr “3306” 去查找占用了3306端口的进程id    然后打开任务管理器 到详细找到刚才看到的进程id 结束掉然后运行 net start mysql 就可以运行了
2.一些命令(1)查看当前用户 select user();(2)退出 exit(3)取消上个sql语句  exit\c

2.改密码

(1)改密码的命令

mysqladmin -uroot password “123” 不登录前输入 (没有密码)

mysqladmin -uroot -p"123" password "456" (已有密码时候的修改)

改密码的命令必须在客户端退出后进行输入命令进行修改

(2)忘记密码时候

跳过授权表的方法进行登录,不需要输入密码

退出服务端net stop mysql🠒>非管理员身份登录cmd,输入mysqld --skip-grant-tables --user=mysql 🠒> 重新打开一个cmd,登录 mysql -uroot -p 🠒>

旧版本:

mysql> update user set password=password("新密码") WHERE user='你的用户名';
mysql>flush privileges;
mysql> quit;

新版本:mysql采用authentication_string替代了password字段

(真正存储用户表的密码字段存储的肯定是密文,只有用户自己知道是什么,这样更安全)

update mysql.user set authentication_string=password('root') where user='root' ;

flush privileges;

quit;

服务端:

1.用mysqld 打开的 只能用alt+Ctrl+delete 进程中结束

2.用net start mysql 打开的 就要 net stop mysql 结束

三:配置文件的更改

1.新建my.ini 文件 启动后立马加载的文件

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]     #表示的是其他的客户端 如py
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%'

服务端登录时候遇到的问题:

C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。



解决办法:
mysqld  --initialize-insecure

四:一些基本命令

1 查看所有的库名:show databases; 位置在D:\Mysql\mysql-5.7.18-winx64\data 其中performance_schema在内存中

2.当你输入的命令不对,又不想让服务端执行并返回报错信息 可以在后面加上\c 取消

3.退出客户端的方法:直接退出/exit/quit (exit/quit后面加不加分号都可以的)

4.D:\Mysql\mysql-5.7.18-winx64\bin>mysql 可以以游客方式进入服务端,他和管理员身份进入服务端的区别在于show databases;时显示的库是不同的

五:环境变量配置

1.每次启动mysqld必须需要切换到D:\Mysql\mysql-5.7.18-winx64\bin才可以打开服务端比较麻烦,所以添加了环境变量

tasklist | findstr mysqld 如何查看当前的具体进程

taskkill /F /PID PID号 如何杀死具体的进程

net stop mysql

2.开多个cmd窗口还是很麻烦,将mysql服务端制成系统服务(开机自启动)

services.msc在cmd中打开服务,将mysql制作成系统服务,自动就是计算机打开就启动了

mysqld --install 安装后服务中就有了 ,以后右键就启动了

mysqld --remove 移除

六:sql语句

1.针对库的增删改查(文件夹)

增:create database db1; create database db1 charset='gbk'; (可以指定字符编码,目前都已经是utf-8)

查:show databases; 查所有的

​ show create database db1; 查单个的 此条命令是查db1

​ select database();查看当前所在的库

改:alter database db1 charset="utf8"; 把db1的字符编码改成了utf-8

删:drop database db1; 删除db1

2.针对表的增删改查(文件)

use db1; 切换到db1的库

create table db2.t1(id int); 也可以用绝对路径的形式来操作不同的库

增:create table t1(id int,name char(4)); id字段 int类型,name字段是4个字段

查:show tables; 查所有

show create table t1;查单个

  describe t1; 支持简写 desc t1; 更详细

改:alter table t1 modify name char(16);

删:drop table t1;

3.针对数据的增删改查(数据)

一定要先有库再有表 再有数据

增:insert t1 values(1,'json'),(2,‘egon’),(3,'tom') ;

改:update t1 set name='DSB' where id>1; 把数据的name变成DSB,在所有的ID>1的数据

查:select *from t1; t1中的所有内容查出来,当数据量特别大的时候,不建议使用,因为查找不便和占用内存

​ select name from t1; 按照名字查找

删:delete from t1 where id>1;

  delete from t1 where name='zz';

  delete from t1;将t1所有的数据清空

posted @ 2021-02-26 19:59  小绵  阅读(268)  评论(0编辑  收藏  举报