开发MySQL程序员

Mysql安装配置

2016-11-09  本文已影响159人  陈钢镚学财

 前言


 对于一个后端开发者,对数据库的了解是必不可少的。工作的一年以来,对mysql的使用或多或少,但每个项目都必然会接触。或者是表结构设计,或者是数据增删改查,又或者是存储引擎,约束,索引优化等……

好不容易抽出时间来整理博客,就顺便理了一下我对mysql的理解。

一般,我将之分为两部分,分别是Mysql部分Sql语法部分,本篇文章,就讲讲我对mysql部分的理解。

Mysql部分


- [ 认知 ]

1. 首先,mysql是一个开源的,关系型数据库管理系统。

2. Mysql现在属于Oracle,一般分为社区版和企业版。

3. 官方提供了多平台的程序版本,不用担心跨平台的问题。

4. 用户可以自己选择MSI打包安装和ZIP绿色安装。(msi仅支持windows)

- [ 目录结构 ]


安装目录下:

-bin        可执行文件

-data      数据文件

-docs      文档

-include    包含的头文件

-lib        库文件

-share      错误消息和字符文件


- [ 技巧 ]

1. Mysql有一个配置向导文件,一般在bin/mysqllinstanceconfig.exe(后缀由当前运行的平台决定)。

2. detailed 详细配置  standard 标准配置。

3. 可将Mysql配置为服务进程启动,这样当操作系统运行时,将自动运行Mysql。

4. mysql为客户端,mysqld为服务端。

5. windows下,可将bin目录配置为环境变量,则可以直接通过cmd运行,无需跳转目录。

6.  default-character-set = utf8  默认编码为 utf8

7.  当发现没有my.cnf时,可从share文件夹中复制my-medium.cnf

- [ 规范 ]

1. 关键字,函数名,一般采用大写字母

2. 数据库名称,表名称,字段名称,一般采用小写字母

3. 语句之间,以;(封号)结尾

- [ 配置与优化 ]


配置可从my.cnf/my.ini中配置,也可以通过命令动态配置

以下有些命令,寻常开发中用不到,主要在性能调优上才会使用

default-character-set = utf8;  -- client/mysqld编码

max_connections                -- mysql最大并行连接数

back_log                        -- mysql允许暂存连接数

lower_case_table_names = 1      -- 设置表名称不区分大小写

wait_timeout                    -- 闲置连接存活时限

interactive_timeout            -- 闲置交互式连接存活时限

key_buffer_size                -- 索引缓冲区大小

query_cache_size                -- 查询缓冲区大小

record_buffer_size              -- 顺序扫描线程缓冲区大小

read_rnd_buffer_size            -- 随机读缓冲区大小

sort_buffer_size                -- 排序线程缓冲区大小

join_buffer_size                -- 连接查询缓冲区大小

table_cache                    -- 表高速缓存的大小

max_heap_table_size            -- 用户可创建内存表的大小

tmp_table_size                  -- 可通过设置该项,增加临时表的容量大小

……

// 更多配置,可以参考一些资料。


- [ 常用命令 ]


在黑框框里的指令~

mysql -uroot -plvpeigang - -prompt \h  -- 修改mysql提示符

mysql -uroot -plvpeigang                -- 登录mysql

exit                                    -- 退出

mysqladmin -uusername -poldpassword pwd -- 修改密码

SELECT VERSION();                      -- 当前版本

SELECT NOW();                          -- 当前时间

SELECT USER();                          -- 当前用户

grant select,insert,update,delete on 数据库.* to 用户名@登录主机 identified by \"\"  // 增加一个用户


- [ 结语 ]

实际项目开发中,作为phper,却是很少用到对于Mysql的调优、配置等,一般而言,设计合理的表结构,字符编码,字段格式,索引,外键,关系这些,已经足够了。但是,同样作为一个开发者而言,对mysql的方方面面有一定了解,也是必要的。

本文出自半醒的狐狸博客 

上一篇 下一篇

猜你喜欢

热点阅读