02架构 09 mariadb 数据库【简单】

数据库

mariadb

1、安装mariadb
yum -y install mariadb-server

2、启动并设置开机启动
systemctl start mariadb
systemctl enable mariadb

3、mariadb命令
#没有密码时启动
mysql
#设置mariadb用户root密码123456,必须启动数据库
[root@db01 ~]# mysqladmin -uroot password '123456'
#导出旧数据【导出的文件名可以随意设置】
mysqldump -uroot -p123456 -B edusoho > /tmp/edu.sql
mysqldump -uroot -p -B wordpress > /tmp/wordpress.sql
输入密码:123456
#导入新数据
[root@db01 ~]# mysql -uroot -p123456 < /tmp/wordpress.sql

#【先登录数据库】
mysql -uroot -p123456
#查看授权用户
select user,host from mysql.user;
#删除用户“test”
drop user test@localhost ;
#若创建的用户允许任何电脑登陆,删除用户如下
drop user test@'%';
#创建用户
create user 'test'@'localhost' identified by '123456';
#授权数据库用户在172.16.1网段远程访问wp库的所有表
grant all on wp.* to wp@'172.16.1.%' identified by '123456';
#更改密码
--方法1,密码实时更新;修改用户“test”的密码为“1122”
set password for test =password('1122');
--方法2,需要刷新;修改用户“test”的密码为“1234”
update  mysql.user set  password=password('1234')  where user='test'
#刷新权限
flush privileges;
#查看用户权限
show grants for test;
#查看库列表
show databases;
#创建数据库
create database wp;

数据库主从

主数据库

#下载安装
yum install -y mariadb-server
#启动数据库
systemctl start mariadb
#设置账户密码
mysqladmin password '123'
#导出所有库
mysqldump -uroot -p123 -A > all.sql
#推送导出的数据库文件到从库的 /root 目录下
scp -rp all.sql   root@10.0.0.52:~
#保证主从数据库双方内容一致
#进入数据库
mysql -uroot -p123
#查看对比主从数据库内容是否一致
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldboy7            |
| performance_schema |
| test               |
| wordpress          |
| world              |
+--------------------+
7 rows in set (0.00 sec)
--------------------------------------------------
#编辑主库配置
vim /etc/my.cnf
......
# instructions in http://fedoraproject.org/wiki/Systemd
log_bin=mysql-bin		#打开日志
server_id=1				#主库ID不能和从库一样
#重启数据库
systemctl restart mariadb.service
#进入数据库
mysql -uroot -p123
#创建一个用来同步数据库的用户
grant replication slave on *.* to rep@'10.0.0.%' identified by '123';
grant			#授权
replication		#主从复制的一个特殊权限
slave			#客户端
*.*				#所有库.所有表
rep@'10.0.0.%'	#用户@用户可以起作用的网段
#查看 log_bin 日志
MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      388 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

从数据库

#下载安装
yum install -y mariadb-server
#启动数据库
systemctl  start mariadb
#设置账户密码
mysqladmin  password '123'
#在家目录下导入主库推送过来的数据库
mysql -uroot -p123 < all.sql
#保证主从数据库双方内容一致
#进入数据库
mysql -uroot -p123
#查看对比主从数据库内容是否一致
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldboy7            |
| performance_schema |
| test               |
| wordpress          |
| world              |
+--------------------+
7 rows in set (0.00 sec)
--------------------------------------------------
#编辑从库配置
vim /etc/my.cnf
server_id=2
#重启数据库
systemctl restart mariadb.service
#进入数据库
mysql -uroot -p123
#根据主数据库的 log_bin 日志 开启主从复制,【主库的信息用 show master status; 在主库查看】
MariaDB [(none)]> change master to				#开启主从复制命令
    -> master_host='10.0.0.51',				#主数据库的IP
    -> master_user='rep',						#主数据库用来做主从复制的用户
    -> master_password='123',					#主数据库用来做主从复制用户的密码
    -> master_log_file='mysql-bin.000001',		#主数据库用来做主从复制的日志名
    -> master_log_pos=388;						#主数据库用来做主从复制的日志位置
Query OK, 0 rows affected (0.00 sec)
#启动主从复制
start slave;	#启动主从复制
stop slave;		#停止主从复制
#查看主从复制结果
show slave status\G
#看到下面的才正常
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

#如果出现:
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes

#如果 IO 线程故障
----------------------------------------------------------
1、检查主服务器连接情况
ping -c1 172.16.1.51
telnet 172.16.1.51 3307
2、检查主服务器的防火墙是不是开了
3、测试远程连接数据库【测试机器必须安装MySQL客户端或服务端】
 mysql -urep -p123 -h 10.0.0.101
4、都解决了可以远程连接主数据库后将mysql服务重启
systemctl restart mariadb

#如果 SQL 线程故障
----------------------------------------------------------
先将主库数据导出,再将导出的数据导入从库,再重新做主从
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值