MySQL数据库基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库基础相关的知识,希望对你有一定的参考价值。
mysql数据库基础
技能目标
- 理解数据库的基本概念
- 掌握MySQL的编译安装
- 会操作MySQL数据库
MySQL数据库简介
- 21世纪,人类买入了“信息爆炸时代”,大量的数据、信息不断的产生,便随而来的就是如何安全、有效的存储、检查和管理他们。对数据的有效存储、高校访问、方便共享和安全控制已成为信息时代亟待解决的问题
使用数据库可以高效且条理分明地储存数据,是人们能够更加迅速、方便的管理数据。数据库具有以下特点:
- 可以结构化储存大量数据信息,方便用户进行有效的检索和访问
- 可以有效地保持数据信息的一致性、完整性,降低数据冗余
- 可以满足应用的共享和安全方面需求
1:手工编译安装MYSQL数据库
- 安装语言开发包
[[email protected] ~] yum install gcc gcc-c++ cmake ncurses ncurses-devel bison -y
- 创建mysql管理用户
[[email protected] mysql-5.7.17] useradd -s /sbin/nologin mysql
- 解压mysql-5.7.17版本的包 boost重命名
[[email protected] ~] tar zxvf mysql-5.7.17.tar.gz -C /opt/
[[email protected] ~] tar zxvf boost_1_59_0.tar.gz -C /usr/local/ #boost包是C语言里面的函数库
- 把/usr/local解压的boost_1_59_0包
[[email protected] ~] mv /usr/local/boost_1_59_0 /usr/local/boost
- 进入 mysql-5.7.17安装包编译
[[email protected] mysql-5.7.17] cmake
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安装路径
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock #通讯连接文件
> -DSYSCONFDIR=/etc #MySQL配置文件目录
> -DSYSTEMD_PID_DIR=/usr/local/mysql #PID进程文件
> -DDEFAULT_CHARSET=utf8 #字符级
> -DDEFAULT_COLLATION=utf8_general_ci #
> -DWITH_INNOBASE_STORAGE_ENGINE=1 #下面四个是存储引擎
> -DWITH_ARCHIVE_STORAGE_ENGINE=1
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
> -DMYSQL_DATADIR=/usr/local/mysql/data #数据库文件
> -DWITH_BOOST=/usr/local/boost #支持函授库
> -DWITH_SYSTEMD=1 #生成一个便于systemctl管理的文件
[[email protected] mysql-5.7.17] make && make install #这个过程比较长需耐心等待
- 更改工作目录的数主和数组
[[email protected] mysql-5.7.17] chown -R mysql.mysql /usr/local/mysql/
- 修改MySQL配置文件
[[email protected] mysql-5.7.17] vim /etc/my/cnf
#在开头插入
[client ] #客户端区域
port = 3306 #端口号3306
default-character-set=utf8 #字符集
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock #连接文件
[mysqld]
user = mysql #管理用户是mysql
basedir = /usr/local/mysql #工作目录位置
datadir = /usr/local/mysql/data #数据库文件目录
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid #进程号
socket = /usr/local/mysql/mysql.sock #
server-id = 1 #sererID
#删除原有文件的mysqld及下列九行添加上面的mysqld
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES #添加sql模式支持各种模式
- 查看更改/etc底下my.cnf的属主和属组
[[email protected] ~] ls -l | grep /etc/my.cnf
-rw-r--r--. 1 root root 728 6月 25 15:43 my.cnf
[[email protected] ~] chown mysql:mysql /etc/my.cnf
-rw-r--r--. 1 mysql mysql 728 6月 25 15:43 my.cnf
- 申明换环境变量追加
[[email protected] ~] echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile [[email protected] ~] echo ‘export PATH‘ >> /etc/profile [[email protected] ~] source /etc/profile
- 初始化数据库
[[email protected] ~] cd /usr/local/mysql/
[[email protected] mysql] bin/mysqld --initialize-insecure #生成一个初始化密码这个初始化密码是空的等会我会修改密码
--user=mysql #指定管理用户啊
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 为了便于systemctl管理的文件放到systenctl里面
[[email protected] ~] cd /usr/lib/systemd/system
[[email protected] system] ls
mysqld.service #这是便于系统管理的摸板 [email protected]
[[email protected] system] cp mysqld.service /usr/lib/systemd/system/ # 复制到此目录下
[[email protected] ~] systemctl daemon-reload #刷新让系统识别
[[email protected] ~] systemctl start mysqld #开启数据库
[[email protected] ~] netstat -anpt | grep 3306 #查看端口号
tcp6 0 0 :::3306 :::* LISTEN 77165/mysqld
[[email protected] ~] systemctl stop firewalld.service #关闭防火墙
[[email protected] ~] setenforce 0
[[email protected] ~] mysqladmin -u root -p password "abc123" #修改初始化密码
[[email protected] ~] mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 9
Server version: 5.7.17 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
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> show databases; #查看数据库能显示下列数据库信息就已经安装完成
+-----------------------------+
| Database |
+-----------------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+-----------------------------+
6 rows in set (0.00 sec)
简单操作数据库
1:什么是数据库
数据库就是对描述事物符号的记录称为数据
2:数据库建立的结构
数据——>表(表是数据的集合)——>数据库
表中的“行”是(记录:记录对一个事物的描述)“列”是(属性:是一个字段 对事物同一属性的描述)
数据的基本概念:DBA
数据库的管理系统(工具):DMSD
- 简单的创建一个下面的班级数据
序列号 | 姓名 | 成绩 | 爱好 |
---|---|---|---|
1 | zhangsan | 78 | 看书 |
2 | lisi | 89.5 | 玩游戏 |
3 | wangwu | 93.5 | 玩游戏 |
1:先创建数据库名字为“五年级二班”
mysql> create database 五年级二班; #创建数据库
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+------------------------------+
| Database |
+------------------------------+
| information_schema |
| 五年级二班 |
| mysql |
| performance_schema |
| sys |
+-------------------------------+
5 rows in set (0.00 sec)
- 进入数据库创建表,表名为“班级信息”
mysql> use 五年级二班; #进入数据库
Database changed
mysql> create table 班级信息(序列号 varchar(10),姓名 varchar(10),成绩 decimal(5,2),爱 好 varchar(10)); #创建表
Query OK, 0 rows affected (0.01 sec)
mysql> desc 班级信息;
+-----------+--------------+--------+--------+--------+----------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+--------+--------+--------+-----------+
| 序列号 | varchar(10) | YES | | NULL | |
| 姓名 | varchar(10) | YES | | NULL | |
| 成绩 | decimal(5,2) | YES | | NULL | |
| 爱好 | varchar(10) | YES | | NULL | |
+-----------+--------------+-------+--------+---------+-----------+
4 rows in set (0.00 sec)
- 在表中输入信息
mysql> insert into 班级信息 (序列号,姓名,成绩,爱好) values (‘1‘,‘zhangsan‘,‘78‘,‘看书‘); #编辑表中信息
Query OK, 1 row affected (0.01 sec)
mysql> insert into 班级信息 (序列号,姓名,成绩,爱好) values (‘2‘,‘lisi‘,‘89.5‘,‘玩游戏‘));
Query OK, 1 row affected (0.00 sec)
mysql> insert into 班级信息 (序列号,姓名,成绩,爱好) values (‘2‘,‘lisi‘,‘93.5‘,‘玩游戏‘));
Query OK, 1 row affected (0.00 sec)
mysql> select * from 班级信息; #查看所有来自班级信息的数据
+-----------+--------------+----------+-----------+
| 序列号 | 姓名 | 成绩 | 爱好 |
+-----------+--------------+----------+-----------+
| 1 | zhangsan | 78.00 | 看书 |
| 2 | lisi | 89.50 | 玩游戏 |
| 3 | wangwu | 93.50 | 玩游戏 |
+-----------+--------------+--------+-----------+
3 rows in set (0.00 sec)
以上是关于MySQL数据库基础的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段