【数据库系列教程】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

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