【运维笔记】mariadb

本文是关于MariaDB的运维笔记,涵盖了源码编译在Ubuntu上的步骤,如何处理锁表问题,理解MySQL表的字符编码格式,以及在mariadb 10.12中通过frm & ibd文件恢复数据的详细过程。此外,还提及了错误'ERROR 2059 (HY000): Plugin caching_sha2_password could not be loaded'的解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mariadb与mysql使用上其实相差不多,可以看下我另一篇关于MySQL的文章https://blog.youkuaiyun.com/wuguifa/article/details/86478308

源码编译

yum groupinstall "Development Tools"
yum install  libaio libaio-devel bison bison-devel zlib-devel cmake openssl openssl-devel ncurses ncurses-devel  libcurl-devel libarchive-devel boost boost-devel lsof jemalloc jemalloc-devel

ubuntu

## sudo apt-get install libncurses5-dev libgnutls-dev libbison-dev


cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITH_DEBUG=0 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 


 cp support-files/mysql.server /etc/init.d/mysqld
 
 cp support-files/my-huge.cnf  /etc/my.cnf
 
 scripts/mysql_install_db --datadir=
 
chown -R mysql /data/mysql ##不更改权限会导致首次启动mysql失败

锁表

## flush tables with read lock		##所有库所有表都被锁定只读
	一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。 

## locak tables table_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
	这个命令是表级别的锁定,可以定制锁定某一个表。例如: lock tables test read; 不影响其他表的写操作。 

## unlock tables
	退出mysql终端的时候都会隐式的执行unlock tables。也就是如果要让表锁定生效就必须一直保持对话。

mysql表字符编码格式

show full columns from table_name;
alter table table_name default character set utf-8;		##修改表的字符编码格式
alter table table_name change 字段 字段 varchar(255) character set utf8mb4;		##修改表单个字段字符编码格式
alter table table_name convert to character set utf8;  	##修改一张表的所有字段的编码格式

mariadb 10.12 通过frm & ibd 恢复数据过程

MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。
MySQL中.ibd文件:InnoDB引擎开启了独立表空间产生的存放该表的数据和索引的文件。

1、更改配置文件并重启mysql。
	innodb_force_recovery=1		##用来恢复表结构,数据和索引文件。

2、创建同名表(表结构不必相同)
	创建完表之后不能 show columns和select 表的内容。
	

3、从备份库中拷贝frm 和idb文件替换新表文件。


4、修改frm 和ibd文件权限。


5、导出导入

ERROR 2059 (HY000): Plugin caching_sha2_password could not be loaded: 找不到指定的模块。

mysql8.0 默认加密认证方式caching_sha2_password

vim my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值