MySQL数据库入门(二)
MySQL
char(10) 根据10,占10个.
列的长度固定为创建表时声明的长度: 0 ~ 255
varchar(10) 根据实际字符串长度占空间,最多10个
列中的值为可变长字符串,长度: 0 ~ 65535
枚举类型 enum(‘tom’,‘jim’)2选其1
时间和日期类型测试:year、date、time、datetime、timestamp
整型 tinyint smallint mediumint int bigint
desc t3; #查看表字段
alter table t3 add math int; #添加字段
alter table t3 add (CHINESE int,ENGLISH int); #添加多个字段
alter table t3 add HISTORY int after PE; # 在字段后加一个新字段
alter table t1 change site Site char(20); # 修改字段和类型
alter table t1 change name name12 int after Hobby; #修改字段名称或类型或移动
alter table t1 drop name12; #删除字段
insert into t2(id,name,sex,age) values(1,"tom","m",18); #添加一个数据记录
insert into t2(id,name,sex,age) values(1,"tom","m",18),(3,"xiaoli","f",20); #添加多个数据记录
select * from t2 #查看表内容
update t2 set id=100 where name='tom'; #修改表数据
delete from t2 where id=100; #删除表数据
select name,salary from employee5; #查询某个字段数据
select id,name from employee5 where id<=3; #有条件的查询
select id,name,salary from employee5 where salary<=7000;
select count(*) from employee5; #查询数据数目
select distinct office from employee5; #去重 去掉相同的东西
mysql 数据库的cup突然飙升到500% 怎么处理?
1 top 看看那个端口占用的cpu多
2 show processeslit查看是否由于大量的并发,引起的负载问题
3 查看慢查询,找出执行长的sql语句是否走索引,要进行mysql语句的优化
4 是否缓存失效
MySQL进行交互使用的哪些协议?使用的端口是 3306
1 TCP/IP协议
2 unix socket协议 --socket 是一种内部的进程通信的形式,被用于在相同主机上行程进程间的双向通信连接点。
3 share memory 协议 (可不写)
主从注意要点
1注意两端机器基础环境
2 注意主库不要随意重启服务
3 如果需要重新配置从库,请先stop slave;
在进行配置,配置完成后start slave; 。查看
show slave status\G
yes I/O
yes I/O
主从成功yes
no 失败 仔细看授权和配置IP及环境配置完
1主 1从以后,再加一台机器,在配置一台从连接这个主
变成1主双从。在主库建库 从库必须能看到。
原理:
实现整个主从复制,需要由slave服务器上的IO进程和Sql进程共同完成.
要实现主从复制,首先必须打开Master端的binary log(bin-log)功能,因为整个MySQL 复制过程实际上就是Slave从Master端获取相应的二进制日志,然后再在自己slave端完全顺序的执行日志中所记录的各种操作。
master 负责写 -----A
slave relay-log -----B
I/o 负责通信读取binlog日志
SQL 负责写数据
1 master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
2slave将master的binary log events拷贝到它的中继日志(relay log);
3 slave重做中继日志中的事件,将改变反映它自己的数据。
主从复制延迟大比较慢原因:
主服务器配置高,从服务器的配置低。
并发量大导致主服务器读的慢。从服务器写的慢
网络延迟比较高
从服务器的读写速度慢
You must reset your password using ALTER USER statement before executing this statement报错处理
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方式如下:
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('Neko@123');
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'Neko@123';
如果不清楚自己是什么版本,可以将两条都尝试一下。