admin管理员组

文章数量:1651560

目录

数据库的类型:

关系型:Mysql,Oracle,Sql server 

非关系型:redis,mongodb,TIDB,TSDB,NO-SQL

关系型数据库:

非关系型数据库:

结构性数据和非结构性数据:

Mysql介绍

Mysql官网:MySQL

Mysql下载

1、rpm包安装方式:(压缩包安装)

步骤:

rpm和yum安装方式的特点:

2、编译安装:

编译安装特点:

3、二进制源码安装方式(推荐):

 二进制安装的特点:

官方参考安装文档:MySQL :: MySQL 5.7 参考手册

步骤:

1、下载二进制安装包(tar)

2、将二进制安装包上传到linux上 

3、解压二进制安装包  

5、编辑一键成功安装mysql脚本 onekey_install_mysql_binary.sh

6、运行脚本,如果出现如下输出,则为配置成功

7、如何卸载二进制安装的mysql  (可写成脚本)

8、判断mysql服务是否运行?


数据库的类型:

关系型:Mysql,Oracle,Sql server 

非关系型:redis,mongodb,TIDB,TSDB,NO-SQL

关系型数据库:

        1、表的字段之间可以有关系

        2、表和表之间可以有关系 

非关系型数据库:

        1、与json类型差不多,不是二维类型的了,是key:value类型

        

结构性数据和非结构性数据:

结构性数据是指具有明确结构和格式的数据,可以轻松地以表格、数据库或其他类似的形式进行组织和存储。这些数据通常是数字、文本或日期等类型的数据,可以通过预定义的字段和值来描述和分类。例如,银行账户信息、股票市场数据和学生考试成绩等都是结构性数据。

非结构性数据则是指没有明确结构和格式的数据,通常是以自由形式的文本、图像、音频或视频等形式存在。这些数据不容易被组织和分类,并且需要使用复杂的技术和算法来提取、分析和理解。例如,社交媒体上的评论、新闻报道和音乐视频等都是非结构性数据。

Mysql介绍

The world's most popular open source database(世界上最流行的开源数据库)

MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,后被Sun Microsystems收购,现在是Oracle Corporation的产品之一。MySQL是一款开源免费软件,可以在多种操作系统上运行,包括Linux、Windows、macOS等。

MySQL支持多用户、多线程、多表、多索引等特性,提供了丰富的SQL语言和API接口,可以方便地进行数据存储、检索、处理和管理。

MySQL还具有高可靠性、高性能、易用性,同时还具有良好的性能、可扩展性和可移植性等优点,因此被广泛应用于Web应用程序、企业级应用程序、云计算和嵌入式系统等领域。

MySQL还具有丰富的功能和工具,例如事务处理、备份和恢复、数据加密、权限控制等,可以满足各种不同的数据库需求。

Mysql官网:MySQL

Mysql下载

我们下载社区版

1、rpm包安装方式:(压缩包安装)

推荐使用5.7.41版本的,比较老,比较稳定,很多公司都在使用 

系统:centos7.9.2009

 查看自己linux系统的内核版本:

[root@mysql ~]# uname -r
3.10.0-1160.el7.x86_64

3.10.0  主要版本
-1160  修改了多少次
el7    enterprice linux 7 企业版linux 7版本
x86_64   表示支持x86 cpu架构的  并且系统是64位的

步骤:

1、下载rpm安装包

2、上传到linux里

          使用xftp 或者 lrzsz(rz)上传 

3、解压安装包  

        ta xf  mysql*

4,yum命令安装

        yum install mysql-conmmunity-* -y

5、启动mysql服务

        server mysqld start

6、检查mysql是否启动

        ps aux | grep mysqld    查看mysql进程

        netstart -anplut | grep mysqld   查看mysql端口

7、登录:

        查看临时密码:/var/log/mysql.log

        修改临时密码:  alter user root

8、查看数据库里有哪些库

        show databases;        

rpm和yum安装方式的特点:

        安装快速,但是不能修改很多的东西,例如:路径,并且很多功能不能定制

2、编译安装:

就不详细介绍了,如需请看:(40条消息) 编译安装MySQL_mysql编译安装_84岁带头冲锋的博客-CSDN博客

编译安装特点:

安装太慢,但是可以定制功能,他的很多东西可以修改,例如:路径,功能定制

3、二进制源码安装方式(推荐):

 二进制安装的特点:

        安装快,还可以修改某些功能

官方参考安装文档:MySQL :: MySQL 5.7 参考手册

步骤:

1、下载二进制安装包(tar)

2、将二进制安装包上传到linux上 

          使用xftp 或者 lrzsz(rz)上传 

3、解压二进制安装包  

        ta xf  mysql*

4、进入mysql解压文件查看是否解压成功

下面是mysql解压包中每个文件夹作用的介绍

如下bin下存放的都是可执行文件。 

 

5、编辑一键成功安装mysql脚本 onekey_install_mysql_binary.sh

[root@web ~]# cat onekey_install_mysql_binary.sh 
#!/bin/bash

#步骤:
#解决软件依赖关系
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel -y

#解压二进制安装包
tar xf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz

#移动mysql解压文件到/usr/local下,改名为mysql
mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql

#新建组和用户 mysql
groupadd mysql

#mysql这个用户的shell 是/bin/false 无法被调用 表示系统用户 属于mysql这个组
useradd -r -g mysql -s /bin/false mysql

#进入/usr/local/mysql
cd /usr/local/mysql

#关闭firewalld防火墙服务,并且设置开机不启动
service firewalld stop
systemctl disable firewalld 

#临时关闭selinux,永久关闭selinux
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

#mysql初始化操作
#创建/data/mysql文档用于存放数据使用
mkdir /data/mysql -p
#修改文件权限和组别,这样mysql用户可以对这个文件夹进行读写操作了
chown mysql:mysql /data/mysql/
chmod 750 /data/mysql/

#进入/usr/local/mysql/bin目录下进行初始化操作
cd /usr/local/mysql/bin
#设置启动用户为mysql base目录为/usr/local/mysql/ data目录为/data/mysql   &>passwd.txt目的是将生成的临时密码存入passwd.txt文件中
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt 

#让mysql支持ssl方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/

#获得临时密码
tem_passwd=$(cat passwd.txt| grep "temporary" | awk '{print $NF}')
#$NF表示最后一个字段

#修改环境变量,添加我们编译安装的mysql的可执行命令的路径
#临时修改PATH变量的值
export PATH=/usr/local/mysql/bin/:$PATH
#永久修改
echo "PATH=/usr/local/mysql/bin:$PATH" >>/root/.bashrc

#复制support-files里的mysql.server文件到/etc/init.d目录下叫mysqld
cp ../support-files/mysql.server  /etc/init.d/mysqld

#修改/etc/init.d/mysqld内的第70行的内容(datadir目录的值)
sed -i '70c  datadir=/data/mysql' /etc/init.d/mysqld

#生成/etc/myf配置文件
cat  >/etc/myf  <<EOF
[mysqld_safe]

[client]
socket=/data/mysql/mysql.sock

[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8

[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m  mysql>
EOF

#启动mysqld服务
service mysqld start

#将mysqld添加到linux系统里的服务管理名单里
chkconfig --add mysqld
#设置mysqld服务开机启动
/sbin/chkconfig mysqld on

#登录重新设置初始密码为123456
#初次修改密码需要使用 --connect-expired-password 选项
#-e 后面接的命令是表示我们需要在mysql里执行的命令
#set password='123456'; 表示修改root用户的密码为:123456 
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='123456';"

#建议修改密码是否修改成功
mysql -uroot -p123456 -e 'show databases;' && echo "database is installed success" 

[root@web ~]# 

6、运行脚本,如果出现如下输出,则为配置成功

[root@web ~]# bash onekey_install_mysql_binary.sh 
Redirecting to /bin/systemctl stop firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
setenforce: SELinux is disabled
Starting MySQL.Logging to '/data/mysql/web.err'.
 SUCCESS! 
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
database is installed success

7、如何卸载二进制安装的mysql  (可写成脚本)

删除文件夹

[root@web local]# cd /
[root@web /]# cd /usr/local/
[root@web local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql  sbin  share  src
[root@web local]# rm -rf mysql/
[root@web local]# rm -rf /data/
[root@web local]# rm -rf /etc/init.d/mysqld 

杀死mysql进程(也可以直接停止mysql服务 service mysqld stop)

[root@web local]# ps aux | grep mysqld
root       3135  0.0  0.1  11824  1588 pts/0    S    18:43   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/web.pid
mysql      3289  0.1 20.8 1544672 207152 pts/0  Sl   18:43   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=web.err --open-files-limit=8192 --pid-file=/data/mysql/web.pid --socket=/data/mysql/mysql.sock --port=3306
root       3408  0.0  0.0 112824   980 pts/0    R+   18:53   0:00 grep --color=auto mysqld
[root@web local]# kill -9 3135
[root@web local]# kill -9 3289
[root@web local]# ps aux | grep mysqld
root       3410  0.0  0.0 112824   980 pts/0    R+   18:54   0:00 grep --color=auto mysqld

删除创建的用户

[root@web local]# userdel -r mysql
userdel: mysql 邮件池 (/var/spool/mail/mysql) 未找到
userdel:未找到 mysql 的主目录“/home/mysql”

写成脚本

[root@web ~]# cat uninstall_binary_mysql.sh 
#!/bin/bash

#停止mysqld服务
service mysqld stop

#删除用户
userdel -r mysql

#删除数据目录和基础目录
rm -rf /usr/local/mysql
rm -rf /data/
rm -rf /etc/init.d/mysqld


[root@web ~]# 

8、判断mysql服务是否运行?

看进程(ps aux|grep mysqld)

[root@web ~]# ps aux|grep mysqld
root       3701  0.0  0.1  11824  1608 ?        S    19:41   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/web.pid
mysql      3855  0.1 20.6 1544676 205120 ?      Sl   19:41   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=web.err --open-files-limit=8192 --pid-file=/data/mysql/web.pid --socket=/data/mysql/mysql.sock --port=3306
root       3952  0.0  0.0 112824   988 pts/3    R+   19:47   0:00 grep --color=auto mysqld
[root@web ~]# 

看端口(lsof -i:3306)(netstat -anpult | grep mysqld)

[root@web ~]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  3855 mysql   20u  IPv6  29788      0t0  TCP *:mysql (LISTEN)
[root@web ~]# 
[root@web ~]# netstat -anpult | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      3855/mysqld         
[root@web ~]# 

mysql安装完毕!!!!

本文标签: 环境软件mysql