脚本命令配置mysql_MySQL常用的配置、脚本和命令

1. sysbench

#配置文件mysql.conf

mysql-host=192.168.13.168

mysql-port=4000

mysql-user=root

mysql-password=123456

mysql-db=sbtest

time=600

threads=8

report-interval=10

db-driver=mysql

#创建数据库sbtest

create database sbtest;

#初始化数据

sysbench --config-file=mysql.conf --tables=10 --table-size=100000/usr/share/sysbench/oltp_point_select.luaprepare

#执行测试

sysbench --config-file=mysql.conf --tables=10 --table-size=100000 /usr/share/sysbench/oltp_point_select.lua run

2. centos 7.x 上安装 mysql

cd /tmp

wget http://repo.mysql.com/mysql57-community-release-el7.rpm

rpm -ivh mysql57-community-release-el7.rpm

yum install mysql-community-server   #安装mysql server

yum install mysql-community-client   #安装mysql server

#编辑/etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

port=3306

symbolic-links=0

log-error=/var/log/mysqld.log

#启动mysql

sudo systemctl start mysqld

#修改root密码

alter user 'root'@'localhost' identified by 'Mysql@188';

set global validate_password_policy=0;    #修改密码策略为LOW

set global validate_password_length=6;

alter user 'root'@'localhost' identified by '123456';

create user 'root'@'%' identified by '123456';    #创建可以远程登录的root用户

grant all on *.* to 'root'@'%';

3. mydumper

#导出test数据库中的t1和t2表

mydumper -h 127.0.0.1 -P 4000 -u root -p 123456 -t 4 -F 64 -B sbtest1 -T t1,t2 --skip-tz-utc -o /tmp/data/mydumper

#导出test数据库中的t1和t2的表结构,不导出数据

mydumper -h 127.0.0.1 -P 4000 -u root -p 123456 -t 4 -F 64 -B test -T t1,t2  --no-data --skip-tz-utc -o /tmp/data/mydumper

#从mysql中导出除information_schema、performance_schema、sys、mysql之外的所有数据库中的所有表

mydumper -h 127.0.0.1 -P 3306 -u root -p 123456 -x '^(?!(information_schema|performance_schema|sys|mysql))' -t 4 -F 64 --skip-tz-utc -o /tmp/data/mydumper

4. loader

loader -h 192.168.13.168 -P 3306 -u root -p 123456 -t 4 -d /tmp/data/mydumper

5. 导出表数据到csv文件

#从mysql中导出csv格式的数据(数据用逗号分隔,字符串加"")

select * from sbtest10 into outfile "/tmp/sbtest1.sbtest10.csv" fields terminated by ',' optionally enclosed by '\"';

6. /etc/my.cnf示例

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

port=3306

max_connections=500

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

secure_file_priv=/tmp

[mysqld@replica01]

datadir=/var/lib/mysql-replica01

socket=/var/lib/mysql-replica01/mysql.sock

port=3307

log-error=/var/log/mysqld-replica01.log

server-id=101

log-bin=mysql-bin

binlog_format=ROW

[mysqld@replica02]

datadir=/var/lib/mysql-replica02

socket=/var/lib/mysql-replica02/mysql.sock

port=3308

log-error=/var/log/mysqld-replica02.log

server-id=102

log-bin=mysql-bin

binlog_format=ROW

7. mysql口令管理

set global validate_password_policy=0;

set global validate_password_length=6;

alter user 'root'@'localhost' identified by '123456';

create user 'root'@'%' identified by '123456';

grant all on *.* to 'root'@'%';

8. mysql复制相关命令

mysql> show master status;

+-----------------+-----------+---------------------+--------------------------+------------------------------------------------------------------+

| File              | Position | Binlog_Do_DB  | Binlog_Ignore_DB  | Executed_Gtid_Set                                                |

+-----------------+-----------+---------------------+--------------------------+------------------------------------------------------------------+

| ON.000002  | 14293   |                           |                                | 53ea0ed1-9bf8-11e6-8bea-64006a897c73:1-163 |

+-----------------+-----------+---------------------+--------------------------+------------------------------------------------------------------+

mysql> show binary logs;

+----------------+----------------+

| Log_name   |     File_size |

+----------------+----------------+

| ON.000001 |    16876       |

| ON.000002 |    14293       |

+----------------+----------------+

mysql> show binlog events in 'ON.000002'from 13655;

GTID 格式说明:

(1) gtid 由 server uuid:transaction id组成,例如: 53ea0ed1-9bf8-11e6-8bea-64006a897c73:163

(2) gtid set, 例如: 53ea0ed1-9bf8-11e6-8bea-64006a897c73:1-163 ,它代表 :53ea0ed1-9bf8-11e6-8bea-64006a897c73:1 到 53ea0ed1-9bf8-11e6-8bea-64006a897c73:163 的所有 gtid

syncer meta

binlog-name = "ON.000002"

binlog-pos = 13816

binlog-gtid = "53ea0ed1-9bf8-11e6-8bea-64006a897c73:1-161"

binlog-name 和 binlog position 代表开始同步的位置

binlog-gtid 代表已经同步过 的 gtid set,从下一条 gtid 开始同步,按照上面的例子就是:

53ea0ed1-9bf8-11e6-8bea-64006a897c73:162

9. dm task 示例设置

# task1.yaml

name: "mytest1"

task-mode: all

meta-schema: "dm_meta"

remove-meta: false

ignore-checking-items: ["auto_increment_ID"]

target-database:

host: "192.168.13.170"

port: 4000

user: "root"

password: ""

mysql-instances:

-

source-id: "mysql-replica-01"

route-rules: ["user-route-rule"]

filter-rules: ["sharding-filter-rule", "t_user-filter-rule"]

mydumper-config-name: "global"

loader-config-name: "global"

syncer-config-name: "global"

-

source-id: "mysql-replica-02"

route-rules: ["user-route-rule"]

filter-rules: ["sharding-filter-rule", "t_user-filter-rule"]

mydumper-config-name: "global"

loader-config-name: "global"

syncer-config-name: "global"

# 所有实例共享的其他通用配置

routes:

user-route-rule:

schema-pattern: "sharding*"

table-pattern: "t_user_*"

target-schema: "shard"

target-table:  "t_user"

shard-route-rule:

schema-pattern: "sharding*"

target-schema: "shard"

filters:

sharding-filter-rule:

schema-pattern: "sharding*"

events: ["drop database"]

action: Ignore

t_user-filter-rule:

schema-pattern: "sharding*"

table-pattern: "t_user_*"

events: ["truncate table", "drop table", "delete"]

action: Ignore

10. tikv-ctl

(1) 把无法启动的 TiKV 启动起来(不超过副本数一半的TiKV无法启动)

tikv-ctl --db /path/to/tikv-data/db bad-regions

pd-ctl>> operator add remove-peer

tikv-ctl --db /path/to/tikv/db tombstone --pd 127.0.0.1:2379 -r # 不超过副本数一半

tikv-ctl --db /path/to/tikv-data/db tombstone -r --force    # 超过副本数一半的TiKV无法启动

(2) 处理不能提供服务的region(过半数副本不可用)

#将故障机器从指定 Region 的 peer 列表中移除。运行命令之前,需要目标 TiKV 先停掉服务以便释放文件锁。

tikv-ctl --db /path/to/tikv/db unsafe-recover remove-fail-stores -s 3 -r 1001,1002

tikv-ctl --db /path/to/tikv/db unsafe-recover remove-fail-stores -s 4,5 --all-regions

(3) 处理完全丢失的region

根据 region 信息查看其属于哪个表的数据

curl http://{TiDBIP}:10080/regions/{regionID}

重建空 Rgion 解决 Unavailable 的报错

tikv-ctl --db /path/to/tikv-data/db recreate-region --pd -r

select count(*) from test1;

select count(*) from force index(`k_1`);

select count(*) from use index(`k_1`);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值