Linux安装mariaDB以及修改Mariadb存储路径

Posted l363130002

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux安装mariaDB以及修改Mariadb存储路径相关的知识,希望对你有一定的参考价值。

yum和源码编译安装的区别 1.路径区别-yum安装的软件是他自定义的,源码安装的软件./configure --preifx=软件安装的绝对路径 2.yum仓库的软件,版本可能比较低,而源码编译安装,版本可控 3.编译安装的软件,支持第三方功能扩展./configure 这里可以加上很多参数,定制功能

1.安装mariadb,配置官方的mariadb的yum源,手动创建 mariadb.repo仓库文件

添加MariaDB源

vi /etc/yum.repos.d/MariaDB.repo

粘贴官方的或者阿里云的镜像:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64/
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.如果下载速度太慢,请删除 mariadb.repo,只是为了使用阿里云的yum源中的mariadb

rm -rf /etc/yum.repos.d/Mariadb.repo
yum
yum clean all

3.通过yum安装mariadb软件,安装mariadb服务端和客户端

 yum install MariaDB-server MariaDB-client -y
yum install mariadb mariadb-server -y

4.安装完成后,启动mariadb服务端

systemctl  start/stop/restart/status  mariadb
systemctl enable mariadb mariadb

5. mariadb初始化

# 这条命令可以初始化mysql,删除匿名用户,设置root密码等等....
mysql_secure_installation

1.
2.使 unix_socket : n
3. root y
4. root : root
5. root : root
6. y
7.n
8. test n
9.y

6. 设置mysql的中文编码支持,修改/etc/my.cnf

1.vi /etc/my.cnf
[mysqld]使mariadb
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

2.mariadbmy.cnf
systemctl restart mariadb

3.
mysql -uroot -p
\\s

7. mysql常用命

desc  #查看表结构
create database #数据库名
create table #表名
db
show create database #库名
# 查看如何创建table结构的
show create table ;

# 修改mysql的密码
set password = PASSWORD(redhat);

# 创建mysql的普通用户,默认权限非常低
create user zhang@% identified by 123456;

# 查询mysql数据库中的用户信息
use mysql;
select host,user,password from user;

7. 给用户添加权限命令

# 对所有库和所有表授权所有权限
grant all privileges on *.* to @
# 给zhang用户授予所有权限
grant all privileges on *.* to zhang@%;
# 刷新授权表
flush privileges;

8. 给用户添加权限命令

# 给zhangsan用户授予所有权限
grant all privileges on *.* to zhangsan@%;
# 给与root权限授予远程登录的命令
# centos这是密码随意设置
grant all privileges on *.* to root@% identified by 123456;
# 此时可以在windows登录linux的数据库
# 连接服务器的mysql
mysql -uyining -p -h

9. 数据备份与恢复

# 导出当前数据库的所有db,到一个文件中
1.mysqldump -u root -p --all-databases > /data/AllMysql.dump
2.mysql
mysql -u root -p
> source /data/AllMysql.dump
3.
# 在登录时候,导入数据文件,一样可以写入数据
mysql -uroot -p < /data/AllMysql.dump

10. 修改Mariadb存储路径

10.1 首先确定MariaDB数据库能正常运行,确定正常后关闭服务

systemctl  stop  mariadb

10.2 建立要更改数据存放的目录,如:我这单独分了一个区/data存放MariaDB的数据

mkdir /data/mysql_data 
chown -R mysql:mysql /data/mysql_data

10.3 复制默认数据存放文件夹到/data/mysql_data

cp -a /var/lib/mysql    /data/mysql_data

10.4 修改/etc/my.cnf.d/server.cnf

vim /etc/my.cnf.d/server.cnf

在[mysqld]标签下添加如下内容

datadir=/data/mysql_data/mysql
socket=/var/lib/mysql/mysql.sock
#default-character-set=utf8
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/data/mysql_data/slow_query_log.log
long_query_time=2

10.5 配置MariaDB慢查询

touch /data/mysql_data/slow_query_log.log
chown mysql:mysql /data/mysql_data/slow_query_log.log

10.6 重启数据库

systemctl  start  mariadb

10.7 注意:

1、配置文件my.cnf存在,但是修改的并不是my.cnf,而是/etc/my.cnf.d/server.cnf; 2、并没有更改mysql.sock的路径配置; 3、没有修改/etc/init.d/mysql中的内容; 4、没有修改mysql_safe中的内容; 5、增加了数据库的慢查询配置。

11. Mariadb主从复制

Linux安装mariaDB以及修改Mariadb存储路径_数据

11.1 主从库初始化

# 这条命令可以初始化mysql,删除匿名用户,设置root密码等等....
mysql_secure_installation

1.
2.使 unix_socket : n
3. root y
4. root : root
5. root : root
6. y
7.n
8. test n
9.y

11.2 修改主库配置

[root@mster mysql]# grep -Ev "^$|^#" /etc/my.cnf.d/server.cnf
[server]
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
server_id = 13 # 一组主从组里的每个id必须是唯一值。推荐用ip位数
log-bin= mysql-bin # 二进制日志,后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
lower_case_table_names=1 # 不区分大小写
binlog-format=ROW # 二进制日志文件格式
log-slave-updates=True # slave更新是否记入日志
sync-master-info=1 # 值为1确保信息不会丢失
slave-parallel-threads=3 #同时启动多少个复制线程,最多与要复制的数据库数量相等即可
binlog-checksum=CRC32 # 效验码
master-verify-checksum=1 # 启动主服务器效验
slave-sql-verify-checksum=1 # 启动从服务器效验
[galera]
[embedded]
[mariadb]
[mariadb-10.6]
[root@mster-k8s mysql]#


11.2 修改从库配置

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
server_id=14
#log-bin= mysql-bin #log-bin是二进制文件
relay_log = relay-bin # 中继日志, 后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
lower_case_table_names=1

11.3 重启主库和从库服务

systemctl restart mariad

11.4 master节点配置

MariaDB [huawei]> grant replication slave, replication client on *.* to liu@% identified by 123456;
Query OK, 0 rows affected (0.001 sec)

MariaDB [huawei]> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 4990 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)

MariaDB [huawei]> select binlog_gtid_pos(mysql-bin.000001, 4990 );
+-------------------------------------------+
| binlog_gtid_pos(mysql-bin.000001, 4990) |
+-------------------------------------------+
| 0-13-80 |
+-------------------------------------------+
1 row in set (0.000 sec)

MariaDB [huawei]> flush privileges;

11.5 slave节点配置

MariaDB [(none)]> set global gtid_slave_pos=0-13-80;
Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> change master to master_host=101.34.141.216,master_user=liu,master_password=123456,master_use_gtid=slave_pos;
Query OK, 0 rows affected (0.008 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]>

11.6 验证salve状态

MariaDB [(none)]> show slave status\\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 101.34.141.216
Master_User: liu
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 13260
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 10246
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 13260
Relay_Log_Space: 10549
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:














以上是关于Linux安装mariaDB以及修改Mariadb存储路径的主要内容,如果未能解决你的问题,请参考以下文章

MariaDB安装卸载以及相关设置(Linux服务器Mysql部署)

Linux 安装Mariadb以及主从搭建

CentOS 7安装MariaDB 10详解以及相关配置

mariadb-10.5.1二进制安装

Linux系统之安装mariadb方法

kali linux2.0下MariaDB修改密码