Linux企业化运维--mysql

一、下载mysql

 下载依赖性

yum install ncurses-devel.x86_64 -y

yum install -y bison

yum install -y gcc-c++

cmake编译mysql

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0/           源码编译

make

make install


 

 vim /etc/my.cnf

 mysqld --initialize --user=mysql

/etc/init.d/mysqld start

 mysql_secure_installation

二、 mysql图形化管理

unzip phpMyAdmin-5.0.2-all-languages.zip

mv phpMyAdmin-5.0.2-all-languages /usr/local/nginx/html/phpadmin

 systemctl enable --now php-fpm.service

vim /usr/local/nginx/conf/nginx.conf

vim /usr/local/lnmp/php/etc/php.ini  PHP中设置默认MySQL套接字与mysql一致

 

 

 三、主从复制

MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。

在server1主机master主库中将mysql数据目录以及配置文件复制到server2主机,即slave从库

scp -r /usr/local/mysql/ server2:/usr/local/

 scp /etc/my.cnf server2:/etc/

 master主库

vim  /etc/my.cnf

  /etc/init.d/mysqld restart

进入数据库,添加授权用户,并且进行授权。slave端可以通过该授权用户进入master端的数据库。

mysql -p

mysql > create user 'repl'@'%' identified by 'westos'; ##添加授权用户

mysql > grant replication slave on *.* to 'repl'@'%'; ##授权

cd /data/mysql	
mysqlbinlog mysql-bin.000001		##查看日志
mysqldump -p westos > dump.sql		##备份数据,所有的操作过程
scp dump.sql server2:

 slave从库

vim /etc/my.cnf

server_id=2

 

 设定server3为server1主机的slave端

mysqladmin -p create westos ##以管理员权限建库

mysql -p westos < dump.sql把一的数据导入到3

四、Mysql半同步复制

介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay-log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使用。

五、组从复制(多主模式)

组复制是一种技术,可用于实现 容错系统。 复制组是一组 每个服务器都有自己的完整数据副本(一个 无共享复制方案),并相互交互 通过消息传递。 通信层提供了一套 原子消息和全序消息等保证 送货。 这些是非常强大的属性,可以转化为 非常有用的抽象,可以用来构建更多 高级数据库复制解决方案
1、还原所有主从节点的设置

/etc/init.d/mysql stop    关闭
rm -fr /data/mysql/*    删除mysql数据

vim /etc/my.cnf 中添加的参数全部删除

 2、添加组复制的参数

[mysqld]
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

server_id=1        #根据主从节点写
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW

plugin_load_add='group_replication.so'
transaction_write_set_extraction=XXHASH64
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "server1:33061"    #根据主从节点写
group_replication_group_seeds= "server1:33061,server2:33061,server3:33061"
group_replication_bootstrap_group=off
group_replication_ip_whitelist="172.25.50.0/24,127.0.0.1/8"
group_replication_single_primary_mode=OFF
group_replication_enforce_update_everywhere_checks=ON


mysqld --initialize-insecure --user=mysql    初始化数据库,不使用密码

 2、初始化完成

 3、设置组

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'westos';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='westos' FOR CHANNEL 'group_replication_recovery';

mysql> SET GLOBAL group_replication_bootstrap_group=ON; #只在主节点输入,从节点不必输入,如果在其它从节执行此语句,那么该节点将会成为主节点,无法进行组合
mysql> START GROUP_REPLICATION;        #启动组
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

 4、查看组服务是否启动

SHOW PLUGINS;

一旦 START GROUP_REPLICATION语句返回,组已启动。 你可以检查 该组 

在其他从节点执行完 2 、 3 步骤后,可查询到组中的所以节点

5、测试

在任意节点进行建库,建表,数据插入,在其他两个节点都可查询到

mysql> CREATE DATABASE test;
mysql> USE test;
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);
mysql> INSERT INTO t1 VALUES (1, 'Luis');

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值