#centos7
yum info mariadb-server
yum -y install mariadb-server ;systemctl enable --now mariadb
#centos8
dnf info mysql-server / dnf info mysql-server mariadb-server
yum -y install mysql-server ; systemctl enable --now mysqld ;ss -ntl
#ubuntu 安装
apt install mysql-server
mysql_secure_installation
回车
回车
y 这只口令
密码
y
y
y
一路y下去
修改初始化密码:
mysqladmin -uroot -p'pe%b#S8ah)j-' password '密码'
🎟what is Mysql ? Mysql的组成部分和常用工具?
客户端常用工具:
服务器端程序:
- mysql_safe
- mysqld
- mysqld_multi
how 基于Docker
docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 mysql:5.7.30
mysql --initialize-insecure --user=mysql --datadir=/data/mysql //生成空密码
💫面试题:varchar(50)能放几个utf-8的编码汉字?
综上所述,char和Varchar最大的区别是:char会自动填满,那么Varchar最大多能存放50,而且这里的50无论是字符还是汉字。
systemctl stop mysql
#备份数据
sysnc -a /var/lib/mysql 10.0.0.28:/data/ //备份数据
还原
yum-y install mysql-server
cp -a /data/mysql/* /var/lib/mysql
systemctl start mysqld
yum -y install percona-xtrabckup //centos8并没有提供
centos8 额外安装
ll percona-xtrabackup-24.2.4.20-1.e18.x86_64.rpm
yum -y install percona-xtrabackup-24.2.4.20-1.e18.x86_64.rpm
rpm -ql percona-xtrabackup-24.2.4.20-1.e18.x86_64.rpm
ll /usr/bin/innobackupex
file /usr/bin/xtrabackup
数据引擎:InnoDB 和 MyISAM的区别?
- 事务存储
- 行加锁
- 多版本的并发支持
- 数据缓存
索引 特殊数据结构
(106条消息) 数据结构:八种数据结构大全_緑水長流*z的博客-CSDN博客_数据结构
(106条消息) 九大数据结构_FloriztW的博客-CSDN博客
逻辑分类
存储引擎
引擎名称 |
优点 |
缺陷 |
应用场景 |
MyISAM |
|
|
|
InnoDB |
|
|
|
MEMORY |
|
|
|
MERGE |
|
|
|
ARCHIVE |
|
|
|
再有人问你MySQL索引原理,就把这篇文章甩给他! (qq.com)
|
|
|
|
|
|
再有人问你MySQL索引原理,就把这篇文章甩给他! (qq.com)
再有人问你MySQL是如何查询数据的,请把这篇文章甩给他! (qq.com)
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
事务隔离级别 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SHOW PASTER EVENTS [IN 'log_name'][FROM pos][LIMIT [offset,] row_count]
#重启数据库命令
systemctl restart mysql
>>
RESET MASTER
FLUSH LOGS;
systemctl start mariadb.service //启动数据库
mysql < hellodb_innodb.sql // 导入数据
mysqldump -A --master-data=2 > |grep > /opt/all.sql //备份+压缩
ll /opt/all.sql.gz -h //查看大小
#对数据库进行操作
mysql
use hellodb
inster teachers values(null,'xiaoming',20,'M');
exit
ll /data/logbin/ //查看二进制文件
mysql
systemctl start mariadb
set sql_log_bin=0; // 临时禁用二进制文件,对还原的增删改查操作不记录数据
source /opt/all.sql //还原完全备份
ll /opt //查看二进制文件
source /opt/binlog.sql; //还原"二进制文件"
select *[file] //查看还原文件
mysqldump 数据备份
-uroot 用户名
-p 密码
-A 完全备份
-F 刷新日志
-E 备份事件/一般不加(-A,加上去会显得有点多余)
-R 存储过程函数/一般不加
--triggers 触发器/一般不加
--single-transaction 开启单一事务
--master-data=1 主数据位置
--flush-privilegse 刷新权限
--default-character-set=uft8 指定字符集
--hex-blob 指定"二进制"文件数据
>$(BACKUP)/fullbak_${BACKUP_TIME}.sql 备份文件(文件夹)/文件路径
#将下载文件拖入Xshell中
ls
复制
yum -y install percona-xtrabackup-24-2.4.20-1.el8.x86_64.rpm
如下图所示
rpm percona-xtrabackup-24-2.4.20
#配置master主节点配置
vim /etc/my.cnf //修改文件配置
开启二进制文件,配置文件插入以下内容
[mysql]
server_id=18
log-bin=/data/mysql/logbin/mysql-bin
创建文件夹
cat /etc/my.cnf //查看mysql文件路径
mkdir -p /data/mysql/logbin //复制路径
chown -R mysql.mysql /data/mysql/ // chown将指定文件修改为所有者权限
systemctl restart mysql //重启数据库
ll /data/mysql/logbin/ //查看二进制是否生成
mysql //进入mysql
>select @@server_id //查看server_id
>show master logs //查看二进制位置
创建账号(mysql8.0开始创建和授权命令需要分开进行)
>create user repluser@'10.0.0.%' identified by '123456'; // 设置账号和密码
授权账号
>grant relication slave on *.* to repluser@'10.0.0.%'; //将主权限全部授权给slave
>show processlist //查看主节点
从节点配置
修改配置文件
vim /etc/my.cnf
插入以下内容,开启二进制问价
[mysql]
server_id=18
log-bin=/data/mysql/logbin/mysql-bin
read-only
systemctl restart mysql //重启配置文件
mysql
>show processlist //查看线程
>help change master to //查看命令帮助,并复制内容和格式
CHANGE MASTER TO
MASTER_HOST='10.0.0.18' //主节点网关地址
MASTER_USER='repluser' //复制账户名称
MASTER_PASSWOED='123456' //密码
MASTER_PORT='3306' //端口,不需要配置
MASTER_LOG_FILE='mysql-bin.0000001' //最初复制的文件
MASTER-LOG-POS='156' //同上上截图所示
>show slave status\G
查看从主节点的数据时间差 "Seconds_Behind_Master:NULL"
>start slave //同时开启主从线程
>show processlist
show databases //查看数据库
create darabase db1; //分别查看两台虚拟机是否同时出现"db1"文件
SET GLOBAL sql_slave_skip_counter = N
#服务器选项,只读系统变量,指定跳过事件的ID
[mysqld]
slave_skip_error=1007|ALL
或者
#SET GLOBAL sql_slave_skip_counter = 1;
#start slave
本文来自博客园,作者:林清|Julien,转载请注明原文链接:https://www.cnblogs.com/Julien1021/p/16344777.html