MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。

mysql

查看安装路径

ps -ef|grep mysql

1,配置linux虚拟机,修改IP

????? vim /etc/sysconfig/network-scripts/ifcfg-eth0

2,配置完网卡之后,执行清空命令

技术分享图片

3reboot

查看生产环境

技术分享图片

技术分享图片

上传文件


技术分享图片

MySQL5.5编译方式安装过程

参考连接:http://blog.51cto.com/oldboy/1917295?


技术分享图片

技术分享图片

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.34 \

-DMYSQL_DATADIR=/application/mysql-5.6.34/data\

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.34/tmp/mysql.sock?\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DWITH_EXTRA_CHARSETS=all\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_FEDERATED_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\

-DWITH_ZLIB=bundled\

-DWITH_SSL=bundled\

-DENABLED_LOCAL_INFILE=1\

-DWITH_EMBEDDED_SERVER=1\

-DENABLE_DOWNLOADS=1\

-DWITH_DEBUG=0

?技术分享图片

技术分享图片

技术分享图片

Mysql压力测试


技术分享图片

MySQL授权


技术分享图片

Mysql bin-log日志(二进制)

Bin-log日志:只保存? 增删改、create的日志

可以使用bin-log恢复数据

技术分享图片

设置服务端的字符集


技术分享图片

技术分享图片

技术分享图片

查看日志乱码http://www.linuxidc.com/Linux/2016-01/126978.htm

my.cnf里面修改设置:

transaction_isolation?=?REPEATABLE-READ
binlog_format=MIXED


?

备份和数据恢复


技术分享图片

1,首先恢复 备份的 sql文件


技术分享图片

2,恢复bin-log

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片


Mysql主从复制

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片


技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

个人写的:

开始搭建主从复制

服务器二台:

????? 分别安装二台Mysql数据库

????? 1:安装命令

?????????? yum –y install mysql-server

?????????? service mysqld start

?????

????? 2:配置登陆用户的密码

??????????

?

????? /usr/bin/mysqladmin -u root password ‘new-password‘

????? 配置用户的密码:new-password,修改这个就可以

?

Show databases

?

Use MySQL

Show tables

Select hostuserpassword from user

删除其他不安全的用户信息

delete from user where password=‘‘;

技术分享图片

Windows服务? Linux? 中的MySQL,需要? 执行

update user set host=‘192.168.119.1‘;

?

刷新? flush privileges

?

mysql –u root –p –h 192.168.119.1

只有本机Windows可以连接

?

?

?

?

?

????? 3:配置允许第三方机器访问本机Mysql


技术分享图片


两台 ?MySQL? 服务器 ?互相 ?连接一下,看看两台服务器是否可以联通!!!

连不通,执行/etc/rc.d/init.d/iptables stop


技术分享图片

主数据库服务器:192.168.1.112MySQL已经安装,并且无应用数据。
从数据库服务器:192.168.1.115MySQL已经安装,并且无应用数据。

上面操作步骤作废

grant replication slave on *.* to ‘gool‘@‘192.168.10.25‘ identified by ‘gool‘

Mysql配置

1)???? vim /etc/my.cnf

技术分享图片

masterslaver server-id的值不能一样

1)???? service mysqld restart

分别重新启动master,slaver的二台mysql服务

2)???? 登陆

3)???? 输入???? SHOW VARIABLES LIKE ‘server_id‘;

4)???? 来查看server_id是否和你配置的一样。

5)???? master输入

6)???? Mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+

7)???? 记录下 FILE Position 的值,在后面进行从服务器操作的时候需要用到。

8)???? 配置从服务器

change master to

master_host=‘192.168.10.24‘,

master_user=‘gool‘,

master_password=‘gool‘,

master_log_file=‘mysql-bin.000001‘,

master_log_pos=154;

9)???? 正确执行后启动Slave同步进程

10)? 启动slave

mysql> start slave;

11)? 查看slave状态

mysql> show slave status\G

12)? 其中Slave_IO_Running Slave_SQL_Running 的值都必须为YES,才表明状态正常。

测试主从复制

1:先确定主,从库上没有任何自定义表

2:主服务器上的操作
在主服务器上创建数据库itcast_db
mysql> create database gool_db;

在主服务器上创建表itcast_tb
mysql> create tables gool_tb(id int(3),name char(9));

在主服务器上的表itcast_tb中插入记录
mysql> insert into gool_tb values(01,‘gool1‘);

3:从服务器上查看是否已经同步?

总结:搭建过程中可能引起失败的原因

1:server_id 配置的一样或是配置的没有更新到Mysql数据中来

2:防火墙拦截了3306端口

3:用户与密码不正确

4:Mysql不允许其它机器访问

?

?

MySQL分区

技术分享图片

技术分享图片

技术分享图片

技术分享图片

List分区,有“”固定的值不改变“”,适合使用list分区技术

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

通过desc,查看 查询影响的rows行数


技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

如果不是myisam存储引擎,而是innodb存储引擎,需要进行修改下面内容

Vim /etc/my.conf

技术分享图片

技术分享图片

技术分享图片

技术分享图片

MySQL备份

1

mysqldump ? -u userName -p? dabaseName? > fileName.sql

fileName.sql最好加上路径名

导出数据库中的某个表的数据

?

1

mysqldump ? -u userName -p? dabaseName tableName > fileName.sql?

导出整个数据库中的所有的表结构

linux命令行下输入:

?

1

mysqldump ? -u userName -p -d dabaseName? > fileName.sql

注意:是加了-d?

导出整个数据库中某个表的表结构

linux命令行下输入:

?

1

mysqldump ? -u userName -p -d dabaseName tableName > fileName.sql

注意:是加了-d

导入mysql方法1

进入linux命令命令行下:

?

1

2

3

mysql ? -uroot -p 回车? 输入密码

source ? fileName.sql

注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql

导入mysql方法2

进入linux命令命令行下:

?

1

2

mysql ? -uroot -p database < fileName.sql

注意fileName.sql要有路径名

?

?

?

?

Linux下参数的传递

技术分享图片

技术分享图片

route del $SNS_VIP >/dev/null 2>&1???? ???????????? #route del 删除本地路由

???? >/dev/null 2>&1??? 一些消息不想看到的时候,使用? >/dev/null 2>&1? 重定向到? /dev/null这个文件夹下

Shell脚本调用vim编辑器??

若想在shell脚本中调用vi编辑器,输入的内容由here document来提供,示例如下:

1

2

3

4

5

6

7

#! ? /bin/bash

vi?abc.txt <<EOF

i????????????????????????#进入insert模式

Here is a ? document!??????#输入文本内容

^[???????????????????????#这个符号是在Ctrl+v下按ESC键,意为按下ESC退出编辑模式

:wq??????????????????????#保存退出

EOF

注:vi编辑器为交互式编辑器,一般不用在shell脚本中使用,除非有特殊需求。一般在shell脚本中都调用ed编辑器。

技术分享图片

技术分享图片

技术分享图片

技术分享图片

MySQL数据库优化

数据库引擎myisam不支持事物。Inndb支持事物

技术分享图片

技术分享图片

MySQL表复制

技术分享图片

MySQL索引

推荐使用alter创建索引

查看索引:show index from 表名

技术分享图片

MySQL视图

视图:相当于一个临时缓冲区,会时刻监测 t1表的数据的变化。

技术分享图片

MySQL内置函数

技术分享图片

技术分享图片

技术分享图片

MySQL预处理语句

技术分享图片

MySQL事物处理

技术分享图片

MySQL存储

技术分享图片

MySQL触发器

技术分享图片

技术分享图片

重排auto_increament

技术分享图片

技术分享图片


正则表达式

技术分享图片

技术分享图片

Rand提前随机行

技术分享图片

利用GROUP by with rollup

技术分享图片

技术分享图片

技术分享图片

bit group functions做统计

技术分享图片

MySQLhelp使用

技术分享图片

技术分享图片

优化SQL语句的步骤

技术分享图片

技术分享图片

技术分享图片

查看? 慢查询的语法:、

技术分享图片

慢查询的值越大,说明查询的效率越低

分析SQL语句执行效率

技术分享图片

技术分享图片

技术分享图片

索引

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

修改表名

Rename table t1 to t2

定期优化表

技术分享图片

MySQL的导入和导出

技术分享图片

高效率的导出?

技术分享图片

高效率的导入

技术分享图片

针对myisam数据库引擎的优化 ??

技术分享图片

技术分享图片

针对innodb数据库引擎的优化

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

尽量不要使用? “”嵌套查询“”

技术分享图片

数据库优化


技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

Mysql服务器优化

技术分享图片

四种字符集

技术分享图片

Vim /etc/my.conf

技术分享图片

技术分享图片

技术分享图片

慢查询日志问题

技术分享图片

技术分享图片

技术分享图片

技术分享图片

Socket问题

技术分享图片

技术分享图片

Mysql.sockmysql数据库,启动的时候自动生成的,如果mysql.sock丢失了,可以重新启动mysql数据库

Root密码丢失问题

技术分享图片

网络管理

技术分享图片

网络管理概念

技术分享图片

网络管理的组成

技术分享图片

MIB:管理消息库(存放了服务器的? 内存空间、cpu等消息)

网络管理协议

技术分享图片

常用网络管理软件

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

配置snmp服务

技术分享图片

编辑snmp.conf配置文件

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

Snmp常用命令

技术分享图片

?mrtg??? 安装? ? ? ? ? ? ? ? ? ? ? ? ? ??

技术分享图片

Mrtg系统监控

技术分享图片

Mrtg流量图的实现过程

技术分享图片

修改mrg.cfg文件,添加如下内容

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

生成监控图片

技术分享图片

技术分享图片

复制,root后面的?? 所有代码,连续执行3遍!!!

技术分享图片

ok说明执行成功!!!

技术分享图片

生成index.html文件

技术分享图片

邮件服务器+shell编写自动报警

技术分享图片

关闭Linux自带的邮件服务器

技术分享图片

安装postfix

技术分享图片

只提供25号端口

?

安装dovecot

技术分享图片

提供110号端口,负责送邮件

修改配置文件:/etc/postfix/main.cfg

?

vi /etc/postfix/main.cf


myhostname = sample.test.com
  ← 设置系统的主机名


mydomain = test.com  ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)


myorigin = $mydomain  ← 将发信地址“@”后面的部分设置为域名(非系统主机名)


inet_interfaces = all  ← 接受来自所有网络的请求


mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 指定发给本地邮件的域名


home_mailbox = Maildir/  ← 指定用户邮箱目录

?

<保存退出!>

?

?

打开dovecot.conf配置文件

vi?/etc/dovecot.conf

技术分享图片

把注释去掉

?

?

添加邮件服务器用户

#adduser?username???????//添加用户

#passwd?username????????//设置密码

?

通过window的outlook express 邮件客户端工具进行测试

?

?

编写shell脚本(注意:有些shell语法在centos7上不好用了)

技术分享图片

技术分享图片

技术分享图片

Apache.sh??

技术分享图片

Mysql.sh

技术分享图片

Disk.sh

技术分享图片

使用crontab创建任务计划

5分钟,执行一次 dish.shmysql.shapach.sh文件

技术分享图片

技术分享图片

以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

mysql查看版本的四种方法