个旧建设局信息公开门户网站,做网站用平板吗,商业空间设计案例,陕西找人做网站多少钱一、连接操作格式#xff1a;mysql-h主机地址 -u用户名 -p用户密码例#xff1a;连接到远程主机上的mysql假设远程主机的IP为#xff1a;110.110.110.110用户名为root,密码为abcd123则键入以下命令#xff1a;mysql-h110.110.110.110-uroot-pabcd123二、用户级操作1、selec…一、连接操作格式mysql-h主机地址 -u用户名 -p用户密码例连接到远程主机上的mysql假设远程主机的IP为110.110.110.110用户名为root,密码为abcd123则键入以下命令mysql-h110.110.110.110-uroot-pabcd123二、用户级操作1、select user() 查看自己的用户名2、Linux命令ps -el | grep mysqld用来检测mysql服务器是否在运行。如果结果为4 S 0 1796 1 0 85 0 - 1513 wait ? 00:00:00 mysqld_safe4 S 27 1856 1796 0 78 0 - 34055 - ? 00:00:00 mysqld就说明服务器已经运行起来了。3、修改密码update user set password新密码 where user用户名。4、新加用户Grant select on 数据库.*to 用户名登录主机 identified by “密码”。三、数据库操作1、创建数据库 create database 2、显示数据库 show database3、删除数据库 drop database 4、连接数据库 use 5、当前选中的数据库 select database();6、查看数据库编码SHOW VARIABLES LIKE character%;四、数据表操作1、创建数据表 create table ( ,)2、查看表结构 describe 表名3、获取表结构 desc表名或者show columns from 表名4、删除数据表 drop table5、表插入数据 insert into 表名 (字段1字段2......) values (值1“值2”...),....(值1,值2);6、查询表中数据 select fromwhere 查看前2行数据 select*from表名 limit(02)7、删除表中数据 delete from 表名 where 表达式8、修改表中数据 update 表名 set 字段新值..where 条件9、增加字段 alter table 表名 add 字段 类型 其他加索引 alter table 表名 add index 索引名 (字段1字段2)加主键 alter table 表名 add primary key(字段名)删除某个索引 alter table 表名 drop index 索引名修改原字段名称及类型 alter table 表名 change旧字段名 新字段名 新类型删除字段 alter table 表名 drop 字段名10、修改表名 rename table 旧表名 to 新表名五、备份数据库1、导出整个数据库导出文件默认是存在mysql\bin目录下mysqldump -u 用户名 -p 数据库名 导出的文件名mysqldump -u user_name -p123456 database_name outfile_name.sql2、导出一个表mysqldump -u 用户名 -p 数据库名 表名 导出的文件名mysqldump -u user_name -p database_name table_name outfile_name.sql3、导出一个数据库结构mysqldump -u user_name -p -d –add-drop-table database_name outfile_name.sql-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table4、带语言参数导出mysqldump -uroot -p –default-character-setlatin1 –set-charsetgbk –skip-opt database_name outfile_name.sql5、导入文件 source 文件路径 mysqlsource d:\mydb.sql注导出文件时在操作系统控制台的ySQL\MySQL Server 5.5\bin目录下执行 导入文件是在mysql控制台执行六、query cacheQuery Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。1、query cache 的五个变量(使用show variable like %query_cache%语句查看)query_cache_limit允许 Cache 的单条 Query 结果集的最大容量默认是1MB超过此参数设置的 Query 结果集将不会被 Cachequery_cache_min_res_unit设置 Query Cache 中每次分配内存的最小空间大小也就是每个 Query 的 Cache 最小占用的内存空间大小query_cache_size设置 Query Cache 所使用的内存大小默认值为0大小必须是1024的整数倍如果不是整数倍MySQL 会自动调整降低最小量以达到1024的倍数query_cache_type控制 Query Cache 功能的开关可以设置为0(OFF),1(ON)和2(DEMAND)三种意义分别如下o 0(OFF)关闭 Query Cache 功能任何情况下都不会使用 Query Cacheo 1(ON)开启 Query Cache 功能但是当 SELECT 语句中使用的 SQL_NO_CACHE 提示后将不使用Query Cacheo 2(DEMAND)开启 Query Cache 功能但是只有当 SELECT 语句中使用了 SQL_CACHE 提示后才使用 Query Cachequery_cache_wlock_invalidate控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache如果设置为 1(TRUE)则在写锁定的同时将失效该表相关的所有 Query Cache如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。2、query cache处理子查询query cache 是以客户端请求提交的 Query 为对象来处理的只要客户端请求的是一个 Query无论这个 Query 是一个简单的单表查询还是多表 Join亦或者是带有子查询的复杂 SQL都被当作成一个 Query不会被分拆成多个 Query 来进行 Cache。所以存在子查询的复杂 Query 也只会产生一个Cache对象子查询不会产生单独的Cache内容。UNION[ALL] 类型的语句也同样如此。3、query cache 的效率Query Cache 的查找是在 MySQL 接受到客户端请求后在对 Query 进行权限验证之后SQL 解析之前。当 MySQL 接受到客户端的SQL后仅仅只需要对其进行相应的权限验证后就会通过 Query Cache 来查找结果甚至都不需要经过 Optimizer (查询优化器)模块进行执行计划的分析优化更不许要发生任何存储引擎的交互减少了大量的磁盘 IO 和 CPU 运算所以效率非常高。4、query cache的失效为了保证 Query Cache 中的内容与是实际数据绝对一致当表中的数据有任何变化包括新增修改删除等都会使所有引用到该表的 SQL 的 Query Cache 失效。5、query cache导致系统整体性能下降当开启了 Query Cache 之后尤其是当我们的 query_cache_type 参数设置为 1 以后MySQL 会对每个 SELECT 语句都进行 Query Cache 查找查找操作虽然比较简单但仍然也是要消耗一些 CPU 运算资源的。而由于 Query Cache 的失效机制的特性可能由于表上的数据变化比较频繁大量的 Query Cache 频繁的被失效所以 Query Cache 的命中率就可能比较低下。所以有些场景下Query Cache 不仅不能提高效率反而可能造成负面影响。6、query cache的几种状态参数(使用show status like%Qcache%语句查看)Qcache_free_blocks目前还处于空闲状态的 Query Cache 中内存 Block 数目Qcache_free_memory目前还处于空闲状态的 Query Cache 内存总量Qcache_hitsQuery Cache 命中次数Qcache_inserts向 Query Cache 中插入新的 Query Cache 的次数也就是没有命中的次数Qcache_lowmem_prunes当 Query Cache 内存容量不够需要从中删除老的 Query Cache 以给新的 Cache 对象使用的次数Qcache_not_cached没有被 Cache 的 SQL 数包括无法被 Cache 的 SQL 以及由于 query_cache_type 设置的不会被 Cache 的 SQLQcache_queries_in_cache目前在 Query Cache 中的 SQL 数量Qcache_total_blocksQuery Cache 中总的 Block 数量七、存储引擎1、在线交易范畴内的表都统一使用innodb存储引擎而不使用myisam的原因n myisam不支持事务如果存在myisam与innodb混用的话事务数据的一致性存在风险。n myisam读写阻塞不适用于高并发环境innodb支持行级锁。n myisam不支持在线备份配置复制时可能需要停机或者长时间锁表。n myisam不够可靠容易损坏丢失数据。n 如果两种引擎混用会给资源分配带来问题。因为有很多参数和设置需要停库才能修改为了减少停库次数我们目前都是采用预先最大化分配足额内存和磁盘空间的方式去做的。而myisam和innodb在内存和空间使用上都不一样如果两者混用那分配的时候就很难两方都照顾到。如果两者都按比例分配很可能存在资源不能充分利用的情况且随着业务的变化需要调整的话也会存在停机问题。n 运维需要收集很多的运行状态数据innodb有非常多的状态数据可收集而对于myisam引擎能收集到的数据非常有限不利于我们做监控和容量规划。2、查看存储引擎n 查看支持的存储引擎show enginesn 查看mysql默认的存储引擎show variables like %storage_engine%n 查看某个表用了什么引擎(在显示结果参数engine后面的就表示当前用的存储引擎)show create table 表名八、mysql架构图架构示意简图模块间的关系图九、Mysql中的数据类型1、数字日期类型常用的时间存储格式主要有datetime、date、timestamp。从存储空间来看timestamp 4个字节而其他date 3个字节datetime 8个字节而timestamp只能存储1970年之后的时间。2、字符类型char(M)是静态长度类型存放长度以字符数来计算所以最终存储长度是基于字符集的latin1最大存储长度为255字节gbk为510字节。mysql5.0.3以前如果定义的M值超过255mysql会自动将char类型转换为可以存入对应数据量的text类型而mysql5.0.3以后所以超过255的定义都会直接拒绝不再自动转换。varchar(M)属于动态存储长度类型仅存储占实际存储数据的长度。在mysql5.0.3以前varchar最大只能存放255个字符占用存储空间的实际大小与字符集有关。从5.0.3开始varchar的最大存储现在已经改为字节数。而且不再有单个字段的限制而是除text和blog类型字段外单条记录最大不超过65536bytes。不过M仍然表示字符数当实际数据在255字节之内时会使用1个字节来存放实际长度而大于255字节时则需要使用2字节来存放。