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.重启mariadb服务,读取my.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主从复制
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存储路径的主要内容,如果未能解决你的问题,请参考以下文章