数据库安装
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运维工程师个人认为会查询语句和数据库的备份还原,数据库的安装,数据主从搭建就可以了,这部分内容总结的简略,多多包涵文章来源:https://www.toymoban.com/news/detail-423441.html
文章来源地址https://www.toymoban.com/news/detail-423441.html
到了这里,关于回炉重造十---mysql数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!