mysql

  1. 概述:
    1. 常见的数据库软件有:Oracle、MYSQL、SQL Server、DB2、Redis、Memcached、MongoDB等。
    2. 数据库(DB):存储数据的机器
    3. 数据库管理系统(DBMS):管理数据库的软件
    4. 数据库系统(DBS):安装了数据库服务器的软件
    5. 数据库管理员(DBA):划分等级:初级、中级、高级
    6. mysql适用于中小规模、关系型数据库系统
  2. 关系模型的基本概念和基本术语共有十三个,它们分别是:
    1. 关系(Relation):一个关系对应着一个二维表,二维表就是关系名。
    2. 元组(Tuple):在二维表中的一行,称为一个元组。
    3. 属性(Attribute):在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;
    4. (值)域(Domain):属性值的取值范围为值域。
    5. 分量:每一行对应的列的属性值,即元组中的一个属性值
    6. 关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,......,属性n),如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。
    7. 键(码):如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。
    8. 候选键(候选码):若关系中的某一属性的值能唯一标识一个元组如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。
    9. 主键(主码):在一个关系的若干候选键中指定一个用来唯一标识该关系的元组,则称这个被指定的候选键称为主关键字,或简称为主键、关键字、主码。每一个关系都有并且只有一主键,通常用较小的属性组合作为主键。例如学生表,选定“学号”作为数据操作的依据,则“学号”为主键。而在选课表中,主键为(学号,课程号)。主属性和非主属性:关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性为非主属性。
    10. 全键或者全码:一个关系模式中的所有属性的集合。
    11. 外键或外码:关系中的某个属性虽然不是这个关系的主键,或者只是主键的,但它却是另外一个关系的主键时,则称之为外键或外码。
    12. 超键或者超码:如果在关系的一个键中移去某个属性,它仍然是这个关系的键,则称这样的键为关系的超键或者超码。
    13. 参照关系与被参照关系:是指以外键相互联系的两个关系,可以相互转化。
  3. mysqld相关参数
    1. /etc/my.cnf                     #主配置文件
    2. /var/lib/mysql                  #数据库目录
    3. /var/run/mysqld/mysqld.pid     #进程存放文件
    4. /var/log/mysqld.log             #错误日志文件
    5. 默认端口号:3306
    6. 进程名:mysqld
    7. 传输协议:TCP
    8. 进程所有者:mysql
    9. 进程所属组:mysql
  4. 连接数据库的连接方式
    1. 命令行连接(mysql命令)
    2. 访问安装的图形软件连接(phpMyAdmin)MySQL-Workbench、MySQL-Front
    3. 编写脚本连接(python连接脚本、PHP连接脚本、java连接脚本)
  5. 密码管理
    1. 等级表示:低级(0 or LOW)、中级(1 or MEDIUM)、高级(2 or STRONG);
    2. 恢复线上服务器密码,线上服务器是不能轻易重启服务的;
    3. 为了账号安全,可以定期修改root密码;
    4. 创建密码即使在最低等级,长度也是在4位,否则会设置不成功;
    5. 数据库管理员对数据库系统有最高权限,名字为root,能够登录数据系统的用户信息有mysql库中user表中进行储存;
  6. 注意重点:
    1. mysql和mariadb不能共存;
    2. 数据库首次登录默认管理员为root,首次登记录密码在/var/log/mysqld.log日志文件里;
    3. 首次登录后,需强制修改密码,否则无法执行任何命令,新密码必须满足密码策略;

官网下载地址:MySQL :: Download MySQL Community Server

下载

wget https://dev.mysql.com/get/mysql-8.0.25-linux-glibc2.17-x86_64.tar.xz

解压

tar -xvf mysql-8.0.25-linux-glibc2.17-x86_64.tar.xz
tar -xvf mysql-8.0.25-linux-glibc2.17-x86_64.tar

移动解压后的目录到目标安装目录

mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql

增加用户组 mysql

groupadd mysql

在用户组下增加用户 mysql

useradd -r -g mysql mysql

将安装目录 /usr/local/mysql-8.0.11/ 的所有者及所属组改为 mysql

chown -R mysql:mysql /usr/local/mysql/

修改配置文件 my.cnf

vim /etc/my.cnf
  1 [mysqld]
  2 basedir=/usr/local/mysql
  3 datadir=/usr/local/mysql/data
  4 port=3306
  5 socket=/tmp/mysql.sock
  6 character_set_server=utf8
  7 lower_case_table_names=1   # MySQL 8.0 版本的忽略大小写配置 lower_case_table_names=1 一定要在执行初始化前写在配置文件里
  8 log-error=/usr/local/mysql/data/mysql.log
  9 pid-file=/usr/local/mysql/data/mysql.pid
 10 [mysql]
 11 default-character-set = utf8

在 mysql目录下创建一个 data 文件夹

cd mysql
mkdir data

初始化

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

将mysql加入到可控制启动服务的文件夹内,并命名mysql(service可控制的服务名):
目的:可用 service mysql start命令来控制启动 mysql

cd support-files
cp mysql.server /etc/init.d/mysql

配置环境变量

vim /etc/profile
 77 export MYSQL_HOME="/usr/local/mysql"
 78 export PATH="$PATH:$MYSQL_HOME/bin"

让修改的profile文件立即生效

source /etc/profile

查看初始密码

cat /usr/local/mysql/data/mysql.log | grep password


 

你可能感兴趣的:(mysql,数据库,mongodb)