需要云服务器等云产品来学习Linux的同学可以移步/腾讯云<--">-->腾讯云<--/阿里云<--">-->阿里云<--/华为云<--">-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。
目录
一、MySQL环境的安装
1、MySQL环境安装
2、安装MySQL出现的问题
3、登录MySQl
3.1方案一
3.2方案二
4、修改MySQL配置文件
5、可选设置:开机自启动MySQL(云服务器没事一般不会关机)
二、MySQL数据库基础
1、一些概念
2、基本使用
2.1显示当前 MySQL 实例中所有的数据库列表
2.2创建数据库
2.3使用数据库
2.4创建数据库表
2.5在表中插入数据
2.6在表中查询数据
3、SQL的分类
4、存储引擎
#打印当前机器的Linux版本 [root@VM-4-11-centos ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) #在官网下载和Linux版本对应的rpm包 http://repo.mysql.com/ #安装rpm包 rpm -ivh mysql57-community-release-el7.rpm #查看Linux的yum源是否被安装好 [root@VM-4-11-centos MySQL]# ls /etc/yum.repos.d/ -l total 24 -rw-r--r-- 1 root root 1838 Apr 27 2017 mysql-community.repo -rw-r--r-- 1 root root 1885 Apr 27 2017 mysql-community-source.repo #使用yum安装mysql yum install -y mysql-community-server #查看MySQL是否安装成功 [root@VM-4-11-centos MySQL]# ls /etc/my.cnf #查看MySQL配置文件是否存在 /etc/my.cnf [root@VM-4-11-centos MySQL]# which mysqld #查看MySQL服务端是否存在 /sbin/mysqld [root@VM-4-11-centos MySQL]# which mysql #查看MySQL客户端是否存在 /bin/mysql #启动MySQL服务器 systemctl start mysqld
安装遇到秘钥过期的问题: Failing package is: mysql-community-common-5.7.42-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 解决⽅案: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
#获取临时密码 [root@VM-4-11-centos MySQL]# sudo grep 'temporary password' /var/log/mysqld.log 2023-06-07T02:58:34.085200Z 1 [Note] A temporary password is generated for root@localhost: kQs***7OrS_M #使用临时密码登录 [root@VM-4-11-centos MySQL]# mysql -h 127.0.0.1 -P 3306 -u root -p Enter password: #退出MySQl \q
- -h:指定要连接的 MySQL 数据库所在的主机名或 IP 地址。在这里,127.0.0.1 表示要连接的主机为本地主机,即连接本机上的 MySQL 数据库。不指明-h,默认连上本地服务器搭建的MySQL。
- -P:指定要连接的 MySQL 数据库所在的端口号。在这里,3306 表示 MySQL 数据库的默认端口号。不指明-P,默认使用配置文件指明的端口号连接MySQL。
- -u:指定要连接 MySQL 数据库的用户名。在这里,root 表示使用 root 用户名连接 MySQL 数据库。
- -p:表示连接 MySQL 数据库时需要输入密码。在这里,-p 后面没有指定密码,所以会提示输入密码。
当你输入完整的命令后,按下回车键,会提示输入密码,输入正确的密码后,就可以连接到 MySQL 数据库了。
#打开MySQl配置文件 vim /etc/my.cnf #尾行加入此句 skip-grant-tables #重启MySQl服务 systemctl restart mysqld #直接登录 mysql -uroot
#vim打开配置文件 vim /etc/my.cnf #新增如下字段 port=3306 character-set-server=utf8 default-storage-engine=innodb #重启MySQl服务,生效配置 systemctl restart mysqld
#开启开机自启动 systemctl enable mysqld systemctl daemon-reload
MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。
mysqld:它是数据库的服务器端(这是一个守护进程)
mysql:它是数据库的客户端
数据库是在磁盘或内存中存储的结构化数据文件。
数据库服务:mysqld
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.02 sec)
数据库存放于/var/lib/mysql目录下。
mysql> create database helloworld; Query OK, 1 row affected (0.00 sec)
创建数据库,本质上就是在创建Linux下创建一个目录。
mysql> use helloworld; Database changed
mysql> create table students( -> name varchar(32), -> age int, -> gender varchar(2) -> ); Query OK, 0 rows affected (0.26 sec)
在数据库中建立表,本质上就是在Linux中创建对应的文件。
mysql> insert into students (name, age, gender) values ('张三',22,'男'); Query OK, 1 row affected (0.05 sec)
mysql> select* from students; +--------+------+--------+ | name | age | gender | +--------+------+--------+ | 张三 | 22 | 男 | | 王五 | 23 | 女 | | 王五 | 23 | 女 | +--------+------+--------+ 3 rows in set (0.01 sec)
DDL【data definition language】:数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML【data manipulation language】:数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL:数据查询语言,代表指令: select
DCL【Data Control Language】:数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
#查看MySQL的存储引擎 mysql> show engines; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 9 rows in set (0.00 sec)
上一篇:SQL Server下载安装教程