MySQL运维之--日常维护操作

http://blog.csdn.net/guoyjoe/article/details/46697825

一、Linux内核和发行版本 uname -a

cat /etc/issue

二、glibc的版本

/lib/libc.so.6    ---没有man函数据的动态链接库

三、MySQL的版本

MySQL二进制分发版的文件名格式为:mysql-VERSION-OS.tar.gz

例如:Linux-Generic(glibc 2.5) (x86,64bit),Compressed TAR Archive(mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz)

1、下载

http://dev.mysql.com/downloads/mysql/

2、查rpm包装在什么目录下

rpm -qpl MySQL-server-5.6.23-1.el6.i686.rpm  |more

rpm -qpl MySQL-client-5.6.23-1.el6.x86_64.rpm |more

3、更改rpm安装路径

rpm --help

rpm --prefix  --relocate

rpmbuild spec binary rpm

yum install

四、rpm安装

rpm -ivh xxx.rmp

rpm -pql xxx.rmp

MySQL  实例安装和启动

1. 安装

mysql_install_db --defaults-file=/root/data/mysql3306/my.cnf --basedir=/usr/ --datadir=/root/data/mysql3306/data

2. 启动

mysqld_safe --defaults-file=/root/data/mysql3306/my.cnf &

3. 登录

mysql -h127.0.0.1 -uroot -P3306 -p

五、安装演示:

1.关闭mysql

ps -ef |grep mysqld

kill  3397 3801

2.安装

cat init3306

sh init3306.sh

3.启动

cat start3306.sh

sh start3306.sh

注意:mysql_install_db(通过安装rpm包产生mysql_install_db),有如下命令查看:

rpm -pql MySQL-server-5.5.42-1.linux2.6.i386.rpm |grep install

which  mysql_install_db

4.看日志

tail  -100f /root/data/mysql3306/log/alert.log

发生数据字典不存在,就会自动创建。。。。

5.查看进程

ps -ef |grep mysqld

mysqld_safe是mysqld的父进程

6.登录

sh  my3306.sh  --mysql -h127.0.0.1 -uroot --P3306

六、脚本:

1.---安装mysql: init3306.sh

rm -rf /root/data/mysql3306/data/*

rm -rf /root/log/mysql3306/iblog/*

rm -rf /root/log/mysql3306/binlog/*

chmod -R 777 /root/data/mysql3306/data/

chmod -R 777 /root/log/mysql3306/iblog/

chmod -R 777 /root/log/mysql3306/binlog/

chmod 755 /root/data/mysql3306/my.cnf

mysql_install_db --defaults-file=/root/data/mysql3306/my.cnf --basedir=/usr/ --datadir=/root/data/mysql3306/data

chmod -R 777 /root/data/mysql/3306/data/

chmod -R 777 /root/log/mysql3306/iblog/

chmod -R 777 /root/log/mysql3306/binlog/

2.--启动mysql: start336.sh

mysqld_safe --defaults-file=/root/data/mysql3306/my.cnf &

3.--登录mysql: my3306.sh

mysql -h127.0.0.1 -uroot -P3306 -p

------研究下

cd /root/data/mysql3306/data/mysql

cd /root/data/mysql3306/data/performance_schema  --性能相关的

cd /root/data/mysql3306/data/test    ---测试库

cd /root/log/mysql3306/iblog/        ---innodb自己的数据和日志

------了解my.cnf(多实例用端口来取分)

vi /root/data/mysql3306/my.cnf

[client]

port=3306

socket=/root/data/mysql3306/run/mysql.sock

[mysql]

port=3306

promprt=\\u@\\d \\r:\\m:\\s>

[mysqld]

default-storage-engine=INNODB

character-set-server=iatin1

explicit_defaults_for_timestamp=true

#dir

innodb_log_group_home_dir=/root/log/mysql3306/iblog

innodb_data_home_dir=/root/log/mysql3306/iblog

basedir=/usr

datadir=/root/data/mysql3306/data

tmpdir=/root/data/mysql3306/tmp

slave_load_tmpdir=/root/data/mysql3306/tmp

log-error=/root/data/mysql3306/log/alert.log

slow_query_log_file=/root/data/mysql3306/log/slow.log

relay_log_info_file=/root/log/mysql3306/binlog/relay-log.info

master-info-file=/root/log/mysql3306/binlog/master.info

socket=/root/data/mysql3306/run/mysql.sock

log-bin=/root/log/mysql3306/binlog/binlog

relay-log=/root/log/mysql3306/binlog/relaylog

innodb_force_recovery=0

七、操作mysql

1、登录mysql:

本地:  mysql -u$usrename -p$password

远程:  mysql -u$username -p$passwrod -h$ip

多实例:mysql -u$username -p$passwrod -P$port

2、用户操用

(1)创建用户

方法一:

insert into mysql.user(user,host,password) values(‘mytest‘,‘localhost‘,password(‘1234‘));

flush privilege;

方法二:create user mystest@‘%‘ identified by ‘1234‘;

(2)用户授权

单纯的授权

grant all privileges on *.* to mytest@localhost;

grant insert,update,delete,select on *.* to mytest@localhost;

授权并创建用户

grant all privileges on *.* to mytest@localhost identified by ‘1234‘;--创建用户并刷缓存,

(等同于:insert into mysql.user ,flush privilege)

grant all privileges on *.* to mytest@localhost;   --对象权限

grant super on *.* to mytest@‘%‘;   --系统权限  (supert相当于oracle中的dba权限)

3、实操

show databases;   --查看所有的数据库

use mysql;        --切到mysql数据库

use tables;       --在mysql库的tables

select user,host,password from mysql.user;  ----查mysql的所有用户,这个是由mysql_install_db创建的

grant all privilege on *.* to test_1@‘%‘; --all代表(select update,delete,alter admin,super_acl),第一个*用户,第二个*对象,%所有的主机

mysql -h127.0.0.1 -utest_1    ----用grant创建的用户登录mysql

select user();   ---当前是什么用户

create database jianfeng; ---创建数据库(mysql中的数据库类似于oracle中的schema

create table user(id int) engine=innodb   ---创建表;

grant select on jianfeng.user to test_1@‘%‘;  ---jianfeng.user表的查询授权给test_1用户

insert into mysql.user(user,host,password) values(‘test_2‘,‘%‘,password(‘1234‘)); --用这种方法创建test_2用户,有个问题权限没有

flush privileges;  ---把mysql.user表的用户权限重新刷到内存中

show master status\G;

change master to xxx;

show processlist;   ---查看当前用户的连接,线程形式(类似oracle中的v$session)

4、drop table处理

rename table test_1 to test;(可以快速切回来rename table test to test_1;)

备份mysqldump:mysqldump -h127.0.0.1 -uroot mydb gyj_t1 >/tmp/gyj_t1.sql

drop table test;

5、自增主键(最好是自己定义主键,系统默认的是全局的增量)

create table test (id int primary key auto_increment,name varchar(100)) engine=innodb;

show create table test\G;

create index test_name_idx on test(name);

show create table test\G;

insert into test(name) values(‘test‘);

commit;

select * from test;

6、alter table处理  --会动原来的数据,需要拷贝数据

alter table test add coll int;

7、执行计划

select * from test where id=1\G;

explain select * from test where id=1;

create index test_id_coll_idx on test(id,coll);

explain select * from test where id=1;

create index test_col_name on test(coll,name);

explain select * from test where coll>10 and name=‘xx‘;

show create table test\G;

alter table test drop index test_name_idx;

explain select * from test where coll>10 and name>‘xx‘;

8、数据导出

(1)用dump导出数据

mysqldump -h127.0.0.1 -uroot mydb gyj_t1 >/tmp/xx.sql

drop table test;

source /tmp/xx.sql    --导入数据

(2)用select导出数据

select * from test into outfile ‘/tmp/yy.sql‘;

9、数据迁移

(1)停机方式

mysqldump/loadata

(2)不停机方式

物理上:搭备库(可以级联5.5-->5.6,向下兼容的)

把主库read only,备库就能把主库转过来的binlog消化完,再把备库切为主

show variables like ‘%read%‘;

set global read_only=on;

insert into test(name) values(‘xx‘);  --插不进的,不能用root用户

(3)不同平台小表:oracle--->mysql

脚本:synfull.pl

(4)不同平台的一个大表迁多:增量迁移

a.把数据的全量迁过去

b.把迁的过程中产生的日志传过去

c.apply增量

d.锁表切切换

(5)增量

a.Oracle:物化视图

b.MySQL:trigger

create trigger tri_test

before insert,delete,update

insert test_log value(type,id);

end;

/

insert into test values(1,‘xxx‘);

test_log value(‘insert‘,‘1‘);

lock table test;

应用切换

10、binlog

reset master;   --会把当前的binlog清掉

show binlog events;

create table x1(id int);

show binlog events;

insert into x1 values(1);

commit;

show binlog events;

类似于: mysqlbinlog -vvv binlog.00001 > /tmp/binlog.log

vi /tmp/binlog.log

WAL: write ahead log,日志优先写

11、归档

flush logs;

show master status;

write ahead log. recover backup, duriably. undo acid mvcc

12、参数和统计信息

show variables;  ----参数

show variables like ‘%bin%‘;

show status;      ----统计信息

show global status like‘%insert%‘;

insert into test(name) values(‘xxxxx‘);

show variables like ‘%default%‘;

set global default_storage_engine=myisam;   ---不影响当前会话的操作,影响新建立的连接

set session default_storage_engine=myisam;  ---影响当前会话的操作

---连接池

max_connect

min_connect

max_idle

time_out

disconnect --释放

版权声明:本文为博主原创文章,未经博主允许不得转载。

MySQL运维之--日常维护操作

标签:mysql运维之--日常维护操作

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://blog.csdn.net/guoyjoe/article/details/46697825

mysql维护 运维_MySQL运维之--日常维护操作相关推荐

  1. 日常维护计算机的方法,计算机硬件故障与日常维护方法

    摘要:随着计算机技术发展速度越来越快,计算机给人们的生产.生活和学习带来了极大的便捷,提高了工作效率与工作质量,促进了各行各业的迅速发展与崛起.然而,计算机在使用过程中,由于计算机自身原因以及大多数用 ...

  2. mysql 二进制日志变化_MySQL运维之二进制日志

    MySQL二进制日志里保存会造成或可能造成数据变化的SQL语句.通过二进制日志可以完成如实时异地容灾备份.读写分离.数据恢复等功能.下面,我们一起来看看Mysql二进制日志. 开启bin-log日志 ...

  3. mysql优化 运维_MySQL运维---MySQL优化

    一.优化 1.优化的角度 2.优化的方向 3.数据库优化思路 4.MySQL优化介绍 5.优化工具介绍 二.操作系统优化 1.top命令 1)CPU 2)内存 3)slab分配器---Linux内存 ...

  4. 服务器单板维护,【专家级】GPON网络的日常维护经验总结

    GPON设备作为新兴的光接入设备,目前在很多地区已大规模使用.为了保证设备的稳定健康运行,需要注意日常例行维护工作的规范性,通过例行维护随时了解设备运行的情况,以便及时发现和解决GPON网络中的各种隐 ...

  5. 计算机机房的日常维护工作,浅谈计算机机房的日常维护及管理.doc

    浅谈计算机机房的日常维护及管理.doc 浅谈计算机机房的日常维护及管理 摘 要:学校计算机机房管理是一项系统工作,是保证学校计算机教学活动的基础工作.科学有效地管理好机房不仅可以使现有的设备发挥最大功 ...

  6. mysql定制rpm包_mysql运维管理-企业rpm包的定制

    1.安装打包工具 [linzhongniao@rpmbaozhizuo ~]# yum install rpm-build –y 2.规划打包目录 [linzhongniao@rpmbaozhizuo ...

  7. mysql第四项_mysql数据库的基本介绍与操作(第四篇-mysql索引篇)

    索引概述: 索引(也就是mysql中常说的键值key)是存储引擎用户快速找到记录的一种数据结构,这是索引的基本功能,索引对于良好的性能非常关键,尤其是当表中数据量 越来越大的时候,索引对性能的影响就越 ...

  8. mysql通过集合查询_MySQL使用集合函数进行查询操作实例详解

    本文实例讲述了MySQL使用集合函数进行查询操作.分享给大家供大家参考,具体如下: COUNT函数 SELECT COUNT(*) AS cust_num from customers; SELECT ...

  9. mysql round不四舍五入_MySQL中ROUND函数进行四舍五入操作陷阱分析

    本文实例讲述了MySQL中ROUND函数进行四舍五入操作陷阱.,具体如下: 在MySQL中, ROUND函数用于对查询结果进行四舍五入,不过最近使用ROUND函数四舍五入时意外发现并没有预期的那样,本 ...

最新文章

  1. Web应用中的缓存一致性问题
  2. Linux基础优化方法(二)———系统安全相关优化:防火墙和selinux
  3. P8级别的顶级“并发编程”宝典,最全指南
  4. Thread系列——ThreadPool
  5. Simulink之三相桥式半控整流电路
  6. 图像模式识别与计算机视觉的,图像处理、计算机视觉和模式识别领域有哪些区别和联系...
  7. 判断wifi连接是否可用
  8. 搭建一个QQ机器人叫女友起床
  9. kvaser canking 的使用
  10. 给大家讲解一下 AIDL原理分析
  11. Zuken CADSTAR 16 破解过程
  12. D5 登录抽屉新热榜
  13. 瑞幸咖啡新获2.5亿美元融资背后
  14. 离散数学-集合论-关系的概念、表示和运算(7)
  15. 【CodeForces】896 B. Ithea Plays With Chtholly
  16. Oracle Sqlplus显示不足问题
  17. 基于springboot+vue个人博客搭建
  18. Facebook sdk嵌入,登陆与注销
  19. php获取qq号,php实现只需要一个QQ号就可以获得用户信息
  20. 全球与中国雄激素和合成代谢类固醇市场发展前景与投资规划建议2021-2027年版

热门文章

  1. 【PAT乙级】1060 爱丁顿数 (25 分)
  2. 4.1.2 文件的逻辑结构
  3. linux防火墙 限制端口,Linux开启防火墙并限制开放端口
  4. 平板电脑什么牌子好点_什么平板电脑充电柜好?
  5. 自编码器(Auto Encoder)原理及其python实现
  6. dfs题目这样去接题,秒杀leetcode题目
  7. hibernate的Transaction接口理解
  8. spring事务配置,声明式事务管理和基于@Transactional注解的使用
  9. 快速掌握mysql,可备用查找相关用法(吐血整理)
  10. string去掉后四位_数字黑洞(下):四位数的黑洞