mysql-案例--实现基于MySQL的虚拟用户FTP服务/基于mysql的GTID复制

一、实现基于MySQL的虚拟用户FTP服务

环境:
两台主机:一台ftp服务器,一台mariadb服务器

1 mariadb服务器

yum install mariadb-server

mysql > 
create database vsftpd;
use vsftpd
CREATE TABLE users (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name CHAR(50) BINARY NOT NULL,
password CHAR(48) BINARY NOT NULL
);
CREATE TABLE users ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(50) BINARY NOT NULL, password CHAR(48) BINARY NOT NULL );

insert users (name,password) value('ftpuser1',password('centos'));
insert users (name,password) value('ftpuser2',password('magedu'));
grant select on vsftpd.users to vsftpd@'192.168.37.%' identified by  'centos';

2 编译安装pam_mysql

tar xvf pam_mysql-0.7RC1.tar.gz  
cd pam_mysql-0.7RC1/
yum install gcc gcc-c++ pam-devel mariadb-devel
./configure  --with-pam-mods-dir=/lib64/security/
make && make install

3

yum install vsftpd
useradd -d /data/ftproot -s /sbin/nologin vuser
chmod 555 /data/ftproot
mkdir /data/ftproot/upload
setfacl -m u:vuser:rwx /data/ftproot/upload
vim /etc/vsftpd/vsftpd.conf 
pam_service_name=vsftpd.mysql
guest_enable=YES
guest_username=vuser
user_config_dir=/etc/vsftpd/vusers.d/  

mkdir /etc/vsftpd/vusers.d/  
cat /etc/vsftpd/vusers.d/ftpuser1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

cat /etc/vsftpd/vusers.d/ftpuser2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/ftproot2

mkdir /data/ftproot2
chmod 555 /data/ftproot2
mkdir /data/ftproot2/upload
setfacl -m u:vuser:rwx /data/ftproot2/upload

二、基于mysql 5.7的GTID复制

1 主服务器上

vim  /etc/my.cnf
[mysqld]
server-id=17
log-bin
gtid_mode=ON
enforce_gtid_consistency


datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock

service mysqld restart 

mysql> grant replication slave on *.* to repluser@'192.168.37.%' identified by 'centos';

2从服务器上

vim /etc/my.cnf
[mysqld]
server-id=27
gtid_mode=ON
enforce_gtid_consistency
                                                                                                                                                 
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock

service mysqld restart 

mysql>CHANGE MASTER TO MASTER_HOST='主服务器',
MASTER_USER='repluser',
MASTER_PASSWORD='centos',
MASTER_PORT=3306,
MASTER_AUTO_POSITION=1;

mysql>start slave;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值