初识MySQL
- 一.MySQL 安装
- 1.卸载已有的 MySQL
- 2.获取官方 yum 源
- 3.安装 MySQL
- 4.登录 MySQL
- 5.配置 my.cnf
- 二.MySQL 数据库基础
- 1.MySQL 是什么?
- 2.服务器,数据库和表
- 3.mysqld 的层状结构
- 4.SQL 语句分类
一.MySQL 安装
1.卸载已有的 MySQL
//查询是否有相关进程
ps axj | grep mysql
ps axj | grep mariadb//如果有就先把服务关掉(root权限)
systemctl stop mysqld
systemctl stop mariadb.service//一定有安装包在Linux中,用yum方式获取的安装包都是.rpm形式的
rpm -qa | grep mysql //查询MySQL的安装包//卸载安装包
rmp -qa | grep mysql | xargs yum remove -y //把查到的内容以xargs的形式喂给yum卸载程序//检查是否卸载成功
ls /etc/my.cnf //这个目录应该没有了
ls /var/lib/mysql //这个目录应该还有,因为MySQL卸载不会把数据清掉,不影响
2.获取官方 yum 源
下载地址:repo.mysql.com
选择:MySQL 5.7 版本,注意选择匹配的操作系统
使用 rz 工具将 Windows 中下载的.rpm 安装包传送到 Linux 机器上
ls /etc/yum.repos.d/ -l //查看已有的yum源,发现没有MySQL的yum源rpm -ivh [rpm安装包名字] //安装MySQL的yum源yum list | grep mysql //查询有没有与MySql相关的资源
3.安装 MySQL
yum install -y mysql-community-server //yum自动在MySQL的yum源中选择合适的MySQL安装安装遇到秘钥过期?
解决方案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022ls /etc/my.cnf //检查是否存在这个文件
which mysqld //是否有服务端程序
which mysql //是否有客户端程序systemctl start mysqld //启动mysql服务端
ps axj | grep mysqld //查看服务进程是否已经启动
4.登录 MySQL
vim /etc/my.cnf //打开配置文件,加入一行:skip-grant-tables,表示登录时跳过密码认证
systemctl restart mysqld //重启服务,使配置文件生效
mysql -uroot -p //登录
说明:暂时先不讲怎么设置密码,用户管理部分再谈
5.配置 my.cnf
在my.cnf中加入如下内容:
character-set-server=utf8
default-storage-engine=innodb
datadir=/var/lib/mysql //这是以后数据库文件存放路径
socket=/var/lib/mysql/mysql.sock
二.MySQL 数据库基础
//登录实际上就是连接到本机的或者远端的mysqld
mysql -u [用户名] -h [mysqld所在主机的ip地址] -P [mysqld的端口号] -p
-p:password
1.MySQL 是什么?
- MySQL 是基于 CS 的网络服务,mysql 这个进程是客户端,mysqld 是服务端,通常与 3306 端口绑定。
- MySQL 是给我们提供数据存取的网络服务
- 我们口语上的数据库,指的是在磁盘或内存中,以特定形式组织的数据。
为什么不用操作系统提供的虚拟文件系统?
文件可以存储数据,但是不具备良好的数据管理能力,即对内容增删查改。数据库本质是对数据内容存储的解决方案,程序员并不直接访问文件,而是给数据库提需求,数据库处理需求,并把结果反馈给你。
2.服务器,数据库和表
3.mysqld 的层状结构
4.SQL 语句分类
- DDL(data definition):数据定义语言,维护存储数据的结构,如 create,drop,alter
- DML(data manipulation):数据操纵语言,对数据操作,如 insert,delete,update。特别地,DML 中细分出一个 DQL——数据查询语言,如 select
- DCL(data control):数据控制语言,负责权限管理和食物,如 grant,revoke,commit