回炉重造十---mysql数据库

数据库安装

1、centos7.9二进制安装MySQL8.0

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1、下载并解压安装包
[root@wengsq ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar
[root@wengsq ~]# tar -xvf mysql-8.0.30-el7-x86_64.tar -C /usr/local
 #删除不需要的安装包
[root@wengsq local]# rm -rf mysql-test-8.0.30-el7-x86_64.tar.gz mysql-router-8.0.30-el7-x86_64.tar.gz
[root@wengsq ~]#tar -xvf mysql-8.0.30-el7-x86_64.tar.gz
[root@wengsq ~]#ln  -s mysql-8.0.30-el7-x86_64 mysql
2、创建存放数据库数据的目录并修改目录权限
[root@wengsq ~]# mkdir /data/mysql  #/data/mysql这个目录可以不提前创建,数据库初始化时会自动创建,但为了初始化能获得数据库密码,这里就提前创建了
[root@wengsq ~]#chown -R mysql.mysql  /data/mysql
[root@wengsq ~]#chown -R mysql.mysql /usr/local/mysql
3、修改配置文件
[root@wengsq local]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql #存放数据库数据的目录
basedir=/usr/local/mysql  #存放数据库的安装包以及相关程序的路径
socket=/data/mysql/mysql.sock
skip_name_resolve=on
log-error=/data/mysql/mysql-error.log  #存放错误日志的路径
pid-file=/data/mysql/mysql.pid   #数据库进程启动文件目录
symbolic-links=0

[client]
socket=/data/mysql/mysql.sock
!includedir /etc/my.cnf.d

#注意:
mysql5.x版本可以复制support-files/my-default.cnf的默认配置文件,然后进行修改
4、初始化数据库
[root@wengsq ~]#/usr/local/mysql/bin/mysqld   --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql   (注意保存初始化时数据库的密码)

#5.x版本初始化数据库
[root@wengsq ~]#./scripts/mysql_install_db --datadir=/data/mysql --user=mysql --basedir=/usr/local/mysql

#如果初始化没生成密码提供一下两种方法
(1)mysqld --initialize --user=mysql --datadir=/data/mysql
(2)mysqld --initialize-insecure --user=mysql --datadir=/data/mysql  #生成空密码

#修改密码
mysqladmin -uroot -p'LufavlMka6,!'  password magedu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-105dbDxC-1682251616080)(C:\Users\wengsq\AppData\Roaming\Typora\typora-user-images\1682120285164.png)]

5、准备mysql的启动脚本
[root@wengsq ~]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@wengsq mysql]# cat -n /etc/init.d/mysqld 
47:datadir=/data/mysql
48:basedir=/usr/local/mysql
[root@wengsq ~]#chkconfig --add mysqld
[root@wengsq ~]#service mysqld start
6、设置环境变量
方法一:设置软链接
[root@wengsq ~]#ln -s /usr/local/mysql/bin/mysql  /usr/bin
方法二:设置环境变量
[root@wengsq ~]#echo   "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
[root@wengsq ~]#./etc/profile.d/mysql.sh
7、登录验证
[root@wengsq ~]# /usr/local/mysql/bin/mysqladmin -uroot -p"wn(4vPK?nHeb" password admin  #数据库登录修改密码
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@wengsq ~]# mysql -uroot -padmin
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.30 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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>

数据库备份

1.1 备份类型

  • 完全备份、增量备份
  • 冷备份、热备份、温备份

​ 冷备份:读写均不可操作,数据库要停止服务

​ 温备份:读操作可执行,但写的操作不可执行

​ 热备份:读写操作均可操作

注意:MyISAM:不支持热备;Innodb:三种备份模式都支持

  • 物理备份和逻辑备份

​ 物理备份:直接复制数据文件进行备份,与存储引擎无关,占用较多的空间,速度快

​ 逻辑备份:从数据库中“导出”数据另存而进行备份,与存储引勤无关,占用空间少,速度慢,可能丢失精度

1.2 备份的对象

  • 数据
  • 二进制日志、InnoDB事务日志
  • 用户账号、权限设置,程序代码(存储过程、函数、触发器、事件调度器)
  • 服务器的配置文件

1.3备份的注意事项

  • 能容忍做多丢失多少数据
  • 备份产生的负载
  • 备份的时间
  • 恢复数据要在多长时间内完成
  • 需要备份和恢复哪些数据

1.4备份工具

  • cp
  • lvm快照
  • mysqldump
  • xtrabackup

1.5 数据库的主从搭建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QRYcVa8A-1682232866760)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\1639046288180.png)]

master:12.17.8.8
slave:172.17.8.18
关闭防火墙、selinux、数据库的版本一致

1.5.1主节点

1、安装并开启服务
[root@Server ~]#yum -y install mysql-server.x86_64
[root@Server ~]#systemctl start mysqld.service
2、在配置文件中开启二进制日志并设立serverID
[root@Server ~]# cat /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id=8
log-bin=/data/mysql/login/mysql-bin
3、创建存放二进制日志的文件夹并赋予权限
[root@Server ~]#mkdir /data/mysql/logbin -p
[root@Server ~]#chown -R mysql.mysql /data/*
4、重启数据库
 [root@Server ~]#systemctl restart mysqld.service 
5、查看二进制日志的位置
mysql> show master status
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      155 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
6、创建用户账号和密码并赋予权限
mysql> create user weng@'172.17.8.%' identified by 'admin';
mysql> grant replication slave on *.* to weng@'172.17.8.%';

1.5.2从节点

1、安装并开启服务
[root@Server ~]#yum -y install mysql-server.x86_64
[root@Server ~]#systemctl start mysqld.service
2、在配置文件中开启二进制日志并设立serverID
[root@Server ~]# cat /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id=18
3、重启数据库
systemctl restart mysqld.service 
4、复制权限的用户账号连接至主服务器
CHANGE MASTER TO
  MASTER_HOST='172.17.8.8',
  MASTER_USER='weng',
  MASTER_PASSWORD='admin',
  MASTER_PORT=3306,
  MASTER_LOG_FILE=' mysql-bin.000003',
  MASTER_LOG_POS=155;
5、开启线程
mysql> start slave
6、查看从节点的状态
mysql> show slave status\G
5、开启线程
mysql> start slave
6、查看从节点的状态
mysql> show slave status\G

数据库的查询语句和数据权限的授予之前的博客有,如果不是专门的DBA运维工程师个人认为会查询语句和数据库的备份还原,数据库的安装,数据主从搭建就可以了,这部分内容总结的简略,多多包涵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值