linux mysql操作

mysql(contox7)

解压安装包:tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

检查环境是否有:rpm -qa|grep mariadb

移除mariadb:rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

安装数据库rpm:

1.安装common:rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

2.安装libs:rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

3.安装libs-compat:rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

4.安装客户端client:rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

5.安装服务端server:rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

6.安装工具devel:rpm -ivh  mysql-community-devel-5.7.28-1.el7.x86_64.rpm

注:server安装不了,安装依赖包

  yum search perl

  yum -y install perl.x86_64

  yum search libaio

  yum -y install libaio.x86_64

  yum search net-tools

  yum -y install net-tools.x86_64

初始化mysql: mysqld --initialize --user=mysql

初始密码:cat /var/log/mysqld.log C=gjS33sNiwa

系统启动时启动服务:systemctl start mysqld.service

查看是否启动成功: systemctl status mysqld.service

修复密码:set password=password('root');

关闭防火墙:

  关闭:systemctl stop iptables(如果报错需下载:yum install -y iptables-services iptables-devel.x86_64 iptables.x86_64)

  关闭防火墙: systemctl stop firewalld

  启动系统时关闭:systemctl disable firewalld.service

 

master:

编辑vi /etc/my.cnf:

1
2
3
4
5
6
7
8
9
10
11
12
13
#开启binlog功能并指定log文件为mysql-bin
log_bin=mysql-bin
#设置serverid
server-id=1
#与磁盘同步
sync-binlog=1
#指定不同步的库
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
 
#指定同步的库
#binlog-do-db=lagou

重启服务:systemctl restart mysqld;

赋权限:

    grant replication slave on *.* to 'root'@'%' identified by 'root';

    grant all privileges on *.* to 'root'@'%' identified by 'root';

    grant all on *.* to 'root'@'%';(赋权root所有访问链接最大权限,上面不生效用这个)

    flush privileges;(刷新权限)

    show master status;(查看状态)

追加从库将数据备份一份:

安装mysql的目录下:mysqldump --all-databases > mysql_backup_all.sql -uroot -p(全量备份)

半同步复制:

是否支持动态安装插件:select @@have_dynamic_loading;

安装半同步的插件并命名为“semisync_master.so”:install plugin rpl_semi_sync_master soname 'semisync_master.so';

查看参数:show variables like '%semi%';

开启半同步复制:set global rpl_semi_sync_master_enabled=1;

半同步复制时间延迟:set global rpl_semi_sync_master_timeout=1000;

并行复制:

查看并行复制的参数:show variables like '%binlog_group%';

并行复制时间延迟:set global binlog_group_commit_sync_delay=1000;

 并行复制每组的事务数:set global binlog_group_commit_sync_no_delay_count=100;

slave:

编辑vi /etc/my.cnf:

1
2
3
#与maser不一样就行<br>server-id=2<br>#指定relay_log的文件为mysql-relay-log
relay_log=mysql-relay-log<br>#该库只读
read_only=1

重启服务:systemctl restart mysqld;

mysql:

    show slave status;(提前查看状态)

    change master to master_host='ip',master_port=端口,master_user='root',master_password='root',master_log_file='mysql-bin.000002',master_log_pos=589;(指定从mater复制)

    start slave;(开启slave )

半同步复制:

是否支持动态安装插件:select @@have_dynamic_loading;

安装半同步的插件并命名为“semisync_slave.so”:install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

查看参数:show variables like '%semi%';

开启半同步复制: set global rpl_semi_sync_slave_enabled=1;

重新加载:stop slave;

     start slave;

并行复制:

查看并行复制的参数:show variables like '%slave_parallel%';

          show variables like '%relay_log%';

并行复制提交方式为组提交:(需要提前停止slave:stop slave;)set global slave_parallel_type='LOGICAL_CLOCK';

并行复制的线程数:set global slave_parallel_workers =8;

set global relay_log_info_repository='TABLE';

set global master_info_repository='TABLE';

vi /etc/my.cnf:(将以上信息配置在配置文件中)

1
slave_parallel_type=LOGICAL_CLOCK<br>slave_parallel_workers =8<br>relay_log_info_repository=TABLE<br>master_info_repository=TABLE<br>relay_log_recovery=1

mysql-proxy安装:

解压安装包:tar -xzvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

创建一个读写文件:vim /etc/mysql-proxy.cnf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[mysql-proxy]<br>#当前运行proxy的用户
user=root
#指定主从mysql的账号及密码
admin-username=root
admin-password=root
#指定代理的地址
proxy-address=192.168.126.118:4040
#主库信息
proxy-backend-addresses=192.168.126.120:3306
#从库信息(读)多个逗号隔开
proxy-read-only-backend-addresses=192.168.126.119:3306
#采用lua脚本分发信息
proxy-lua-script=/root/proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua
#日志文件
log-file=/var/log/mysql-proxy.log
#日志级别
log-level=debug
#指定proxy的进程是守护进程的方式
daemon=true
#proxy宕机时试图重启
keepalive=true<br>

 权限修改为可读写:chmod 660 /etc/mysql-proxy.cnf

打开指定的脚本:vi mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua

达到最小的连接数时才进行读写分离的生效

修改:min_idle_connections = 1

启动proxy服务:

cd mysql-proxy-0.8.5-linux-el6-x86-64bit/bin/

./mysql-proxy --defaults-file=/etc/mysql-proxy.cnf 

(在当前目录找mysql-proxy)(指明用那个配置文件启动)

 双主模式

 vi /etc/my.cnf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#开启binlog功能并指定log文件为mysql-bin
log_bin=mysql-bin
#设置serverid  (另一个主不同)
server-id=1
#与磁盘同步
sync-binlog=1
#指定不同步的库
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys#开启relay_log
relay_log=mysql-relay-bin
#开启更新日志写到二进制文件中(binlog)
log_slave_updates=1  
#开启主键递增从什么位置开始(双主单写可以不配置)  (另一个主从2开始)
auto_increment_offset=1
#递增步长2
auto_increment_increment=2

  mha搭建

所有服务器都要下载

yum install -y perl-DBD-MySQL 

perl-Config-Tiny

perl-Log-Dispatch

perl-ParalExtUtils-CBuilder

perl-ExtUtils-MakeMaker

perl-CPAN

服务器互通

1
2
3
4
5
6
7
8
9
10
11
ssh-keygen -t rsa (生成默认秘钥一直回车)
ssh-copy-id mdaip (将秘钥复制到mda服务器)
cat /root/.ssh/authorized_keys (r服务器上检查下,看看.ssh/authorized_keys文件是否包含3个公钥)
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys(将MHA Manager的公钥添加到authorized_keys文件中(此时应该包含4个公钥))
scp /root/.ssh/authorized_keys root@192.168.31.199:/root/.ssh/authorized_keys<br>scp /root/.ssh/authorized_keys root@192.168.31.165:/root/.ssh/authorized_keys<br>scp /root/.ssh/authorized_keys root@192.168.31.142:/root/.ssh/authorized_keys
ssh 192.168.31.199(master)
 exit
ssh 192.168.31.165 (slave1)
 exit
ssh 192.168.31.142 (slave2)
exit

node

1
2
3
4
5
6
7
tar -xvf mha4mysql-manager-0.58.tar.gz
 
cd mha4mysql-manager-0.58
 
perl Makefile.PL
 
make && make install 

manage

1
2
3
4
5
6
7
tar -xvf mha4mysql-manager-0.58.tar.gz
 
cd mha4mysql-manager-0.58
 
perl Makefile.PL
 
make && make install

 MongoDB安装:

解压包:tar -xvf mongodb-linux-x86_64-rhel70-4.2.19.tgz

进入文件:cd mongodb-linux-x86_64-rhel70-4.2.19

创建配置文件:vi mongo.conf

创建数据库目录:mkdir -p /data/mongo

1
2
3
4
5
6
7
8
9
10
11
12
#指定数据库目录
dbpath=/data/mongo/
#监听端口,默认27017
port=27017
#监听IP地址,默认全部可以访问
bind_ip=0.0.0.0
#是否在后台启动
fork=true
#日志路径
logpath=/data/mongo/MongoDB.log<br>#是否追加日志<br>logappend=true
#是否开启安全认证
auth=false

 启动:./bin/mongod -f mongo.conf

查看启动的进程:ps -ef|grep mongo

停止服务:kill -9 ##

连接mongodb:./bin/mongo --host=ip --port=端口

posted @   a快乐码农  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示