【数据库系列教程】MySQL基本认识和安装
环境介绍
- 系统版本:Centos7
- MySQL版本:5.7
一、关系型数据库管理系统
- Relation DataBase Manage System 简称RDBMS
存储方式
- 数据库
- 表
- 字段 column
- 记录 record
二、约束 constraint
1、域约束
- 在字段进行数据类型限制
- 作用: 确保表中的某个字段的数据格式统一
2、检查性约束
- 作用: 确保数据的合理性
3、主键约束 primary key
- 不允许出现重复数据
- 不允许为空
- 注意: 一张表只能有一个主键
4、惟一键约束 unique key
- 不允许重复、允许为空
- 一张表中可以存在多个惟一键
5、外键约束 Foreign Key
作用: 确保数据的完整性
三、事务 Transaction
- 作用: 确保多个修改操作要么全成功、全失败
四、安装Mysql
- Mysql官网 https://www.mysql.com
- 使用Mysql5.7版本
- 使用Centos7环境
1.创建本地仓库文件夹
[root@node1 ~]# mkdir /mysql57
2.下载Mysql软件包
[root@node1 ~]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.41-1.el7.x86_64.rpm-bundle.tar
如果提示没有wget命令请使用yum安装
[root@node1 ~]# yum install -y wget
2.解压软件包
[root@node1 ~]# tar xf mysql-5.7.41-1.el7.x86_64.rpm-bundle.tar -C /mysql57
3.查看解压的软件包
[root@node1 ~]# ls /mysql57
mysql-community-client-5.7.41-1.el7.x86_64.rpm
mysql-community-common-5.7.41-1.el7.x86_64.rpm
mysql-community-devel-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.41-1.el7.x86_64.rpm
mysql-community-libs-5.7.41-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm
mysql-community-server-5.7.41-1.el7.x86_64.rpm
mysql-community-test-5.7.41-1.el7.x86_64.rpm
4.创建yum仓库
[root@node1 ~]# yum install -y createrepo
[root@node1 ~]# createrepo /mysql57
Spawning worker 0 with 10 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
创建yum源
[root@node1 ~]# vim /etc/yum.repos.d/mysql.repo
[mysql5.7]
name=mysql5.7
baseurl=file:///mysql57
enabled=1
gpgcheck=0
如果提示没有vim命令可以使用vi或者安装vim
[root@node1 ~]# yum install -y vim
5.安装MySQL
root@node1 ~]# yum install -y mysql-community-server
6设置MySQL开机自启动
[root@node1 ~]# systemctl enable --now mysqld
五、修改MySQL用户密码
- mysql默认管理员账号:root
- mysql默认管理员密码是个随机数(每个人不一样)
1.查看日志获取旧密码
[root@node1 ~]# grep -i "password" /var/log/mysqld.log
2023-03-30T07:32:52.766585Z 1 [Note] A temporary password is generated for root@localhost: h,!twK!1_)iQ #后面的12位默认随机密码
2.修改密码
[root@node1 ~]# mysqladmin -u root -p password "WWW.1.com" #这里我要设置的新密码为WWW.1.com
Enter password: #输入旧密码的时候不会显示 旧密码:“h,!twK!1_)iQ”
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
3.登录测试
[root@node1 ~]# mysql -uroot -pWWW.1.com #用户为root,密码是WWW.1.com
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.41 MySQL Community Server (GPL)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
六、Mysql相关文件
1.错误日志
- /var/log/mysqld.log
2.默认数据目录
- /var/lib/mysql
3.配置文件
- /etc/my.cnf
datadir= 数据目录
socket= 套接字文件socket
保存mysql监听的IP和端口
用于接收客户端连接请求
log-error= 错误日志
pid-file= pid文件
七、MySQL默认服务端口
- TCP协议3306端口
[root@master ~]# netstat -tunlp | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 971/mysqld