linux系统mysql简介

linux系统mysql初始

初级:1.mysql安装

中级:数据库管理员DBA

1) 用户管理

1.用户权限的管理
2.管理可以操作库和表
3.用户名
4.管理来源IP
5.用户的密码

grant select,insert,update on wordpress.* to dev@'172.16.1.%' identifie by 'xxx@123';

2) 数据管理

1.备份数据
2.恢复数据
3.sql语句管理
	DDL:	CREATE
	DCL:	GRANT
	DML:	INSERT
	DQL:	SELECT

3) 配置管理

1.了解配置文件
2.优化配置

4) 集群管理

1.单机单节点
2.主从
3.读写分离
4.MHA

5) 数据库监控管理

1.进程  ps -ef
2.端口  netstat
3.主从状态
4.主从延时情况
5.sql读写速率
6.慢日志

6)运维层面的监控

1.系统硬件监控
2.服务进程
3.端口监控
4.网络监控
5.业务监控

3.高级:数据库架构师

二、数据库课程体系

[UV8YIH.jpg]

三、DBA职业素养

[UVGmm8.jpg]

1.人品

1.不要动不动就删库
2.不要随意甩锅,尽量往别的部门甩

2.严谨

1.每条sql语句都要经过测试
2.删除语句
	delete from mysql.user where 1=1;
	
	delete:删除数据
	drop:删除表
	truncate:清空表

3.细心

1.敲命令要细心
\G ; \g
2.常用的命令,记录,下次执行直接复制

4.心态

1.遇到紧急故障沉着冷静,不要因为慌乱导致更严重的后果

5.熟悉操作系统

6.熟悉业务

7.熟悉行业

8.喜欢数据库

五、MySQL简介

1.什么是数据

数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。
在计算机系统中,数据以二进制信息单元0,1的形式表示。

数据的定义: 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。

2.数据库管理系统种类

1)关系型数据库 DBMS(database management system)

mysql
oracle
sqlserver
mariadb

以多张二维表的方式来存储,又给多张表建立了一定的关系(关系型数据库)

#范式拆表:将一个表拆到不能再拆

2)非关系型数据库

redis
	127.0.0.1:6379> set k1 v1	#设置值
	OK
	127.0.0.1:6379> get k1		#查看值
	"v1"
memcache
mongodb
elasticsearch

非关系型数据库,很多以json格式进行存储数据的

3)关系型数据库和非关系型数据库对比

关系型数据库:
	1.强大的查询功能
	2.强一致性
	3.二级索引
	
非关系型数据库:
	1.灵活
	2.高扩展性
	3.性能高

4)关系型数据库和非关系型数据库特点对比

关系型数据库(RDBMS)的特点:
	1.二维表
	2.数据存取是通过SQL(Structured Query Language结构化查询语言)
	3.最大特点数据安全性方面强(ACID)
		原子性,一致性,隔离性,持久性

非关系型数据库(NoSQL:Not only SQL)的特点:
	1.不是否定关系型数据库,而是做关系型数据库的补充。
	2.性能高,速度快

5)NoSQL特性总览

1. 不是否定关系型数据库,而是做关系型数据库的补充,现在也有部分替代的趋势mongodb。
2. 关注高性能,高并发,灵活性,忽略和上述无关的功能。
3. 现在也在提升安全性和使用功能。
4. 典型产品:redis(持久化缓存)、MongoDB(最接近关系型数据库的NoSQL)、memcached。
5. 管理不适用SQL管理,而是用一些特殊的API或数据接口。

6)NoSQL的分类、特点、典型产品

1.键值(key value)存储:memcached、redis
2.列存储(column-oriented):HBASE(新浪、360)Cassandra(200台服务器集群)
3.文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
4.图形存储(Graph):Neo4j

7)mysql数据库版本

- 1.0
- 5.1
- 5.5
- 5.6
- 5.7
- 8.0

#版本选择的潜规则:
	5.6版本:选择GA 6-12 个月,小版本为偶数版
	5.7版本:选择GA 6-12 个月,小版本为偶数版,尽量选择5.7.17版本以上

六、mysql安装

1.安装方式

1.二进制安装
2.源码包安装
3.rpm包安装

1.二进制安装

1)上传或者下载包

[root@m01 ~]# rz
#或者
[root@web01 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

2)安装依赖

[root@m01 ~]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf

3)解压包

[root@m01 ~]# tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

4)移动目录

[root@m01 ~]# mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/

5)做软连接

[root@m01 ~]# ln -s /usr/local/mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/mysql

6)创建mysql用户

[root@m01 ~]# useradd mysql -s /sbin/nologin -M

7)拷贝配置文件和启动脚本

[root@m01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

[root@m01 support-files]# cp mysql.server /etc/init.d/mysqld

8)初识化数据库

[root@m01 ~]# cd /usr/local/mysql/scripts/
[root@m01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

--user:	指定用户
--basedir: 指定安装目录
--datadir: 指定数据目录

#初始化成功的标志是两个ok

9)启动数据库

[root@m01 scripts]# /etc/init.d/mysqld start

10)配置环境变量

[root@m01 scripts]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

[root@m01 scripts]# source /etc/profile

11)配置system管理mysql

[root@m01 scripts]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

[root@m01 scripts]# systemctl daemon-reload
[root@m01 scripts]# systemctl start mysqld

12)确认启动

[root@m01 scripts]# ps -ef | grep mysql
mysql     12886      1  2 03:10 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
root      12921  10636  0 03:11 pts/1    00:00:00 grep --color=auto mysql
[root@m01 scripts]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      12027/redis-server  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      6180/rpcbind        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7113/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7198/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      12886/mysqld        
tcp6       0      0 :::111                  :::*                    LISTEN      6180/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      7113/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      7198/master         
[root@m01 scripts]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.46 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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>
posted @ 2020-07-10 11:52  王顺子  阅读(519)  评论(0编辑  收藏  举报