当前位置:Gxlcms > 数据库问题 > MySQL

MySQL

时间:2021-07-01 10:21:17 帮助过:1人阅读

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数据库引擎的优化<

人气教程排行