|NO.Z.00005|——————————|^^ 构建 ^^|——|Mysql&Mariadb&yum部署配置.V1|
一、概述:
### --- 官方网站:
~~~ MySQL官网:https://www.mysql.com/
~~~ mariadb官网:https://mariadb.com/
### --- 官方文档:
~~~ MySQL:https://dev.mysql.com/doc/
~~~ Mariadb:https://mariadb.com/kb/en
### --- 版本演变:
~~~ MySQL:5.1(centos6.x)——>5.5——>5.6——>5.7
~~~ MariaDB:5.5(centos7.x)——>10.0——>10.1——>10.2——>10.3
### --- MySQL版本:
~~~ MySQL Community Server 社区版本,开源免费,但不支持官方技术支持。
~~~ MySQL Enterprise Edition 企业版本,需付费可以使用30天。
~~~ MySQL Cluster 集群版,开源免费,可将几个MySQL Server封装成一个server。
~~~ MySQL Cluster CGE 高级集群版,需付费。
### --- mariadb的安装方式:
### --- 源代码:编译安装
~~~ 二进制格式的程序包,展开至特定路径,并经过简单配置后即可使用
~~~ 程序包管理器管理的程序包;
### --- centos下安装mariadb官方教程:
~~~ https://downloads.mariadb.org/mariadb/repositories/
二、mysql/mariadb.server安装教程:
1、centos6.5下安装mysql-server
### --- 查询mysql-server并安装mysql软件
[root@localhost ~]# yum info mysql-server // 查询mysql-server安装包
Name : mysql-server
Arch : x86_64
Version : 5.1.73
Release : 8.el6_8
Size : 8.6 M
### --- 安装mysql-server程序
[root@localhost ~]# yum install -y mysql-server // 安装centos6.x里面自带mysql-server版本,若需要新版本,可以去配置yum源,下文有配置教程
Installed:
mysql-server.x86_64 0:5.1.73-8.el6_8
Dependency Installed:
mysql.x86_64 0:5.1.73-8.el6_8 perl-DBD-MySQL.x86_64 0:4.013-3.el6
### --- 查看mysql-server安装是否成功
[root@localhost ~]# rpm -ql mysql-server
/etc/rc.d/init.d/mysqld // 启动文件
/usr/libexec/mysqld // 数据库的主程序、二进制程序
/var/lib/mysql // 将来存放用户数据的数据目录
/var/log/mysqld.log // 日志文件包
/var/run/mysqld
### --- 设置程序密码安全
[root@localhost ~]# mysql_secure_installation
### --- 设置开机自启动
[root@localhost ~]# chkconfig --list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on
3:on 4:on 5:on 6:off
### --- 启动mysqld程序
[root@localhost ~]# service mysqld start
[root@localhost ~]# ss -tnl // 查看它的端口号
LISTEN 0 50 *:3306
### --- 查看mysql配置文件
[root@localhost ~]# ll /var/lib/mysql/ // 第一次启动的时候会生成数据库文件。
-rw-rw---- 1 mysql mysql 10485760 Nov 5 18:04 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Nov 5 18:04 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Nov 5 18:04 ib_logfile1
drwx------ 2 mysql mysql 4096 Nov 5 18:04 mysql
srwxrwxrwx 1 mysql mysql 0 Nov 5 18:04 mysql.sock // mysql.sock主要用于本地通讯
drwx------ 2 mysql mysql 4096 Nov 5 18:04 test
[root@localhost ~]# date // 通过时间可以看出来
Thu Nov 5 18:07:13 CST 2020
### --- 利用mysql客户端工具去链接mysql数据库
[root@localhost ~]# which mysql
/usr/bin/mysql
[root@localhost ~]# rpm -qf /usr/bin/mysql // 属于哪个包
mysql-5.1.73-8.el6_8.x86_64
### --- mysql客户端下常用操作:
[root@localhost ~]# mysql // 默认是无密码登录,未设置密码默认无密码。
mysql> show databases; // 查询当前系统中所有数据库列表
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
mysql> system hostname // mysql下可以执行linux命令
localhost.localdomain
mysql> status // 查看系统的状态信息
Current database: // 当前不在任何数据库里
Current user: root@localhost // 当前与数据库连接时的用户名 ,是MySQL账户自身的用户;我是在本机用root登录到数据库中
mysql> use mysql // 切换到mysql数据库
mysql> status
Current database: mysql // 当前在mysql数据库中
Current user: root@localhost
mysql> \s // \s也可以表示为status,是status的简写
mysql>quit // 退出mysql客户端
三、centos7.x下安装mariadb-server服务:
### --- 安装部署mariadb-server
[root@localhost ~]# yum install mariadb-server -y
Installing:
mariadb-server x86_64 1:5.5.65-1.el7 // 服务器端包
Installing for dependencies:
mariadb x86_64 1:5.5.65-1.el7 // 客户端包
### --- 查看mysql安装路径,及部署的版本
[root@localhost bin]# which mysql
/usr/bin/mysql
[root@localhost bin]# rpm -qf /usr/bin/mysql
mariadb-5.5.65-1.el7.x86_64
### --- 登录mysql客户端
[root@localhost ~]# mysql // 服务没有启动;mysql.sock文件不会生成
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
[root@localhost ~]# rpm -ql mariadb-server // 查看mariadb包含的包列表
/usr/lib/systemd/system/mariadb.service // 服务名,意外的我们后期操作时使用mariadb.service
/var/lib/mysql
/var/log/mariadb
/var/log/mariadb/mariadb.log
/var/run/mariadb
### --- 启动mariad.service
[root@localhost ~]# systemctl start mariadb.service
[root@localhost ~]# ss -tunlp |grep mysqld
tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=115344,fd=14))
[root@localhost ~]# pstree -p // mysql工作原理是基于单进程多线程
[root@localhost ~]# ll /var/lib/mysql/ // 存放的就是数据库的列表
total 28700
drwx------ 2 mysql mysql 4096 Nov 5 21:56 mysql
srwxrwxrwx 1 mysql mysql 0 Nov 5 21:56 mysql.sock
drwx------ 2 mysql mysql 4096 Nov 5 21:56 performance_schema // 在内存里虚拟的数据库
drwx------ 2 mysql mysql 6 Nov 5 21:56 test
### --- mysql数据库一般操作;
MariaDB [(none)]> show databases; // 查看支持的数据库列表
+--------------------+
| Database |
+--------------------+|
| mysql |
### --- 利用复制的方法克隆一个数据库
[root@localhost ~]# cd /var/lib/mysql/ // 进入到mysql数据库列表文件夹
[root@localhost mysql]# cp -a mysql mysqlclone // 克隆一个mysql数据库mysqlclone
MariaDB [(none)]> show databases; // 此时可以看到mysqlclone数据库
+--------------------+
| Database |
+--------------------+|
| mysql |
| mysqlclone
### --- 克隆技术
~~~ 此方法也可以用作数据库备份的时候方案,一种备份手段
~~~ 但要确保数据库的一致性,数据完整性,确保同一时间点的一个文件
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv002-database
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」