大纲

1、安装 MySQL

2、检索数据

3、数据过滤

一、安装环境

CentOS-6.5-i386

mysql 5.1.73

为了方便,这里采用yum方式安装,对于学习实验环境完全没问题,注意下面的操作都以root身份操作。

除非对MySQL需要定制化或者安装多个实例,建议使用YUM/RPM包安装 或者 通用二进制格式安装。源码也有30多M,如果编译安装需要花费大量的时间。

MySQL被Oracle收购以后,分为了以下两个版本

  • Community Edtion (MySQL Community Server)

  • Enterprise Edtion (MySQL Enterprise Server)

MySQL 官方网站提供三种软件包格式:

  • 软件包管理特有的格式(RPM包, DEP包,MSI 格式)

  • 通用二进制格式(不需要安装,解压并简单配置即可)

  • 源码文件(Source Code)

二、安装MySQL

a、检查系统是否已经安装mysql,如果存在,则卸载然后重新安装

# rpm -qa | grep -i mysql## 查看MySQL相关的安装包
# yum search mysql

b、安装mysql服务器端

# yum -y install mysql-server

c、安装mysql客户端程序

# yum -y install mysql

d、如果需要开发程序,那么需要安装mysql开发库。建议安装它

# yum -y install mysql-devel

e、默认情况下,MySQL的几个目录

数据文件:    /var/lib/mysql
可执行文件:  /usr/bin (mysql, mysqldump, mysqladmin等命令)
服务启动脚本:/etc/init.d/mysqld
配置文件:    /etc/my.cnf

安装

mysqld    MySQL服务器端的二进制可执行文件

mysql       MySQL客户端程序

MySQL启动后,默认情况下监听在 3306 端口。

三、修改配置文件

默认情况下,mysql是不支持中文字符的。因为其默认的字符集latin1,我们可以通过修改其配置文件,来更改默认的字符集设置。默认情况下的字符集如下:

mysql> SHOW VARIABLES LIKE '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

设置字符集为UTF-8, 编辑配置文件/etc/my.cnf, 在[mysqld]下添加如下一行:default-character-set=utf8

四、启动 && 停止 MySQL 服务

a、设置mysql开机启动

# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list | grep mysql

b、启动mysql服务

mysq l服务的启动脚本位于 /etc/init.d/mysqld,我们可以通过以下方式启动

# service mysqld start
or
# /etc/init.d/mysqld start

c、进行必要的安全性设置

# /usr/bin/mysql_secure_installation

然后根据提示,回答yes/no即可。

d、重启或停止mysql服务

# service mysqld restart     # 重启
# service mysqld stop     # 停止

五、连接到 MySQL 服务

MySQL与所有其他客户机-服务器DBMS一样,要求在能够执行命令之前登录到DBMS。为了连接到MySQL,需要以下信息:

  • 主机名(如果是连接到本地mysql服务器,为localhost)

  • 端口号(默认为3306)

  • 一个合法的mysql用户名

  • 用户口令(如果需要)

## 连接
# mysql -h localhost -P 3306 -u root -p
-h:host指定主机
-P:Port指定端口
-u:user指定用户名
-p:password## 退出
mysql> quit

在连接登录之后,就可以访问该用户有权限访问的任意数据库和表了。

MySQL 数据库的用户与操作系统用户无关, 其用户定义比较特殊: username@host  , 由 用户名 以及 允许该用户登录的源主机 组合而成。

a、选择数据库

在最初连接到mysql时,没有任何数据库打开供你使用。在你能执行任意数据库操作前,需要选择一个数据库。为此,可使用USE关键字。例如,为了使用test数据库

mysql> USE test;

记住,必须先使用USE选择数据库后,才能读取其中的数据。

b、了解数据库和表

想一想,如果你不知道可以使用的数据库名时怎么办?数据库、表、用户权限等信息被存储在数据库mysql表中。不过,内部的表一般不能直接访问,可以mysql的SHOW命令来显示这些信息。

查询可用的数据库:

mysql> SHOW DATABASES;

获取数据库表的列表:

mysql> USE mysql;
mysql> SHOW TABLES;

查看表结构:

mysql> DESC user;

显示授予用户的权限:

mysql> SHOW GRANTS;

更多的SHOW命令, 请

mysql> ? SHOW;mysql> help contents;

六、MySQL客户端工具

1)MySQL

MySQL是一个简单的SQL外壳(有GNU readline功能)。它支持交互式和非交互式使用。当交互使用时,查询结果采用ASCII表格式。当采用非交互式(例如,用作过滤器)模式时,结果为tab分割符格式。可以使用命令行选项更改输出格式。如果由于结果较大而内存不足遇到问题,使用--quick选项。这样可以强制MySQL从服务器每次一行搜索结果,而不是检索整个结果集并在显示之前不得不将它保存到内存中。

2)MySQLAdmin

MySQLAdmin是一个执行管理操作的客户程序。可以用它来检查服务器的配置和当前的状态,创建并删除数据库等等。

3) MySQLBinLog

服务器生成的二进制日志文件写成二进制格式。要想检查这些文本格式的文件,应使用MySQLBinLog实用工具。

4) MySQLDump

MySQLDump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器。转储包含创建表和/或装载表的SQL语句。

5) MySQLImport

MySQLImport实用程序是一个批量加载器,它将文本文件的内容读到已有表中。

6) MySQLShow

MySQLShow,客户可用来很快地查找存在哪些数据库,数据库中的表,表中的列或索引。

7) Perror

Perror为系统错误代码或存储引擎(表处理)错误代码打印其描述信息。

8) Replace

Replace实用工具可以及时更改文件或标准输入中的字符串。它首先使用有限状态机来匹配长的字符串。该工具可以用来交换字符串。

所有客户端工具,都受my.cnf配置文件中 [client] 的影响, [mysql] 只会影响mysql客户端工具。

所有客户端工具,都支持一些通用的选项,比如以下这些:

--user, -u

--host, -h

--password, -p

--port, -P

--protocol

--database  DATABASE , -D

MySQL

MySQL客户端提供两种工作模式:

  • 交互式模式(这种模式下又可以执行两类命令)

    • 客户端命令(help, 可以查看)

    • 服务器端命令(需要服务端响应的命令,必须使用语句结束符,默认为 ;)

  • 批处理模式(执行 mysql 脚本)

# mysql < init.sql   (输入重定向方式)

mysql>  source  /path/to/your.sql   (\.)

-------------------让mysql从文件中读取语句----------------- 
--命令行从sql文件中读取
# mysql dbname < filename.sql

--mysql会话内从sql文件读取
source /path/to/filename.sql
\.  /path/to/filename.sql

1、我们首先看一下mysql 命令的常见选项

[root@mysql ~]# mysql --help
...
Usage: mysql [OPTIONS] [database]-?, --help          Display this help and exit.-I, --help          Synonym for -?--auto-rehash       Enable automatic rehashing. One doesn't need to use'rehash' to get table and field completion, but startupand reconnecting may take a longer time. Disable with--disable-auto-rehash.(Defaults to on; use --skip-auto-rehash to disable.)-A, --no-auto-rehash No automatic rehashing. One has to use 'rehash' to gettable and field completion. This gives a quicker start ofmysql and disables rehashing on reconnect.--auto-vertical-output Automatically switch to vertical output mode if theresult is wider than the terminal width.-B, --batch         Don't use history file. Disable interactive behavior.(Enables --silent.)-C, --compress      Use compression in server/client protocol.-D, --database=name Database to use.--default-character-set=name Set the default character set.--delimiter=name    Delimiter to be used.-e, --execute=name  Execute command and quit. (Disables --force and historyfile.)-E, --vertical      Print the output of a query (rows) vertically.-f, --force         Continue even if we get an SQL error.-G, --named-commands Enable named commands. Named commands mean this program'sinternal commands; see mysql> help . When enabled, thenamed commands can be used from any line of the query,otherwise only from the first line, before an enter.Disable with --disable-named-commands. This option isdisabled by default.--local-infile      Enable/disable LOAD DATA LOCAL INFILE.-h, --host=name     Connect to host.-H, --html          Produce HTML output.-X, --xml           Produce XML output.--line-numbers      Write line numbers for errors.(Defaults to on; use --skip-line-numbers to disable.)-L, --skip-line-numbers Don't write line number for errors.-n, --unbuffered    Flush buffer after each query.-N, --skip-column-names Don't write column names in results.--sigint-ignore     Ignore SIGINT (CTRL-C).--pager[=name]      Pager to use to display results. If you don't supply anoption, the default pager is taken from your ENV variablePAGER. Valid pagers are less, more, cat [> filename],etc. See interactive help (\h) also. This option does notwork in batch mode. Disable with --disable-pager. Thisoption is disabled by default.-p, --password[=name] Password to use when connecting to server. If password isnot given it's asked from the tty.-P, --port=#        Port number to use for connection or 0 for default to, inorder of preference, my.cnf, $MYSQL_TCP_PORT,/etc/services, built-in default (3306).--prompt=name       Set the mysql prompt to this value.--protocol=name     The protocol to use for connection (tcp, socket, pipe,memory).-S, --socket=name   The socket file to use for connection.-t, --table         Output in table format.--tee=name          Append everything into outfile. See interactive help (\h)also. Does not work in batch mode. Disable with--disable-tee. This option is disabled by default.-u, --user=name     User for login if not current user.--connect-timeout=# Number of seconds before connection timeout.Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit. 查看从配置文件读取哪些选项
--no-defaults           Don't read default options from any option file,except for login file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=#Also read groups with concat(group, suffix)
--login-path=#          Read this path from the login file.

2、常用客户端命令

mysql> ?For information about MySQL products and services, visit:http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:https://shop.mysql.com/List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.For server side help, type 'help contents'

\c : 清除当前输入的语句,提前终止、取消语句执行。前提是 \c 之前没有语句结束符。

delimiter : 设置语句结束符

\g :  无论语句结束符是什么,直接将此语句发送至服务器执行。

\G :  无论语句结束符是什么,直接将此语句发送至服务器执行,并且结果以竖排方式显示。

pager : 通过 PAGER 打印查询结果

source     \. : 执行SQL 脚本

status      \s :获取服务器状态

system    \! :  执行系统shell 命令

rehash    \# :  对新建的对象(table name, colume name),支持补齐功能

命令补齐功能:

名称(table name, colume name)补齐

prompt
    如果有很多mysql数据库管理,有时会发生自己忘记了在那台服务器,那台数据库上,毋庸多说,谁都知道这有多危险。可以使用prompt来重写mysql客户端提示符。

mysql>prompt \u@\h(\d) \r:\m:\s>
\u:连接用户
\h:连接主机
\d:连接数据库
\r:\m:\s:显示当前时间如果嫌每次都在命令行修改麻烦,直接修改my.cnf参数
[mysql]    #这是不是[mysqld]
prompt=\\u@\\d \\R:\\m>root@localhost((none)) 06:57:39> prompt
Returning to default PROMPT of mysql>
mysql>

pager

如果select出来的结果集超过几个屏幕,那么前面的结果一晃而过无法看到。使用pager可以设置调用os的more或者less等显示查询结果,和在os中使用more或者less查看大文件的效果和使用方式都一样。

pager [cmd]   cmd 是标准linux命令
mysql> pager more
PAGER set to 'more'
mysql> \P more
PAGER set to 'more'
mysql> pager less
PAGER set to 'less'
mysql> \P less
PAGER set to 'less'// 回到标准输出stdout
mysql> pager
PAGER set to stdout

delimiter
delimiter就是告诉MySQL解释器,命令的结束符是什么。
默认情况下MySQL命令结束是以分号(;),在写过程或者函数等情况下,这会产生不少问题,因为存储过程中有许多语句,所以每一个都需要一个分号。因此你需要选择一个不太可能出现在你的语句或程序中的字符串作为分隔符。

mysql> delimiter //
mysql> SELECT host,user FROM user//mysql> delimiter ;

3、服务器端命令

For server side help, type 'help contents'mysql> help contentsmysql> help  KEYWORD

mysqladmin

用于执行管理性操作。语法是:

shell> mysqladmin [OPTIONS] command [command-option] command ...
通过执行mysqladmin --help,你可以得到你mysqladmin的版本所支持的一个选项列表。目前mysqladmin支持下列命令:
create databasename         //创建一个新数据库
drop databasename           //删除一个数据库及其所有表
extended-status              //给出服务器的一个扩展状态变量
flush-hosts                  //刷新所有缓存的主机
flush-logs                   //刷新所有日志
flush-tables                 //刷新所有表
flush-privileges             //再次装载授权表(同reload)
kill id,id,...              //杀死mysql线程
password                     //新口令,将老口令改为新口令
ping                         //检查mysqld是否活着
processlist                  //显示服务其中活跃线程列表
reload                       //重载授权表
refresh                      //洗掉所有表并关闭和打开日志文件
shutdown                     //关掉服务器
status                       //给出服务器的简短状态消息--sleep N--count N
variables                    //打印出服务器变量
version                      //得到服务器的版本信息所有命令可以被缩短为其唯一的前缀。

非客户端工具

myisamchk       # isam 表检查工具

myisampack      # isam 表压缩工具

转载于:https://blog.51cto.com/skypegnu1/1421777

MySQL入门-3:安装与客户端工具相关推荐

  1. mysql下载、安装并用客户端工具Navicat进行连接教程

    一.在安装MySql之前,先要检查下本地是否安装了mysql服务 检查的方法如下: 1)按住Win+R键,输入cmd,打开命令提示符窗口: 2)接着输入services.msc,点击[确定]:若没有返 ...

  2. Windows安装Git客户端工具

    首先下载msysgit,主站点:http://msysgit.github.com/ 注意,不是git for windows,而是msysgit. 我下载的是Git-1.7.11-preview20 ...

  3. mysql客户端工具的使用

    mysql客户端工具 常用的mysql客户端工具有这些: mysql:这是一个命令行的客户端工具,在安装mysql服务器时,会自动安装的一个命令行工具. mysqldump:这是用来备份mysql时用 ...

  4. kingbase客户端工具安装和使用

    一.kingbase客户端工具简介   kingbase客户端工具是人大金仓提供的连接KES数据库的图形化客户端工具.它是基于JAVA语言开发的能运行在不同操作系统平台上的图形工具,用于访问.配置.控 ...

  5. 轩小陌的Python笔记-day25 MySQL入门

    第四模块 MySQL数据库 从今天开始将进入第四模块的学习,这个模块就是给大家讲解MySQL数据库. 以前,在开发程序时,我们会把很多的数据和信息存储到某个文件夹中的文件中,例如:user.txt . ...

  6. 01 MySQL数据库 MySQL入门

    01 MySQL数据库 从今天开始,我们将进入系列课程的 第四模块 的学习,这个模块就是给大家讲解MySQL数据库. 以前,在开发程序时,我们会把很多的数据和信息存储到某个文件夹中的文件中,例如:us ...

  7. mysql技术内幕sampdb_MySql技术内幕之MySQL入门(1)

    MySql技术内幕之MySQL入门(1) 安装 检查系统中是否已经安装了MySQL sudo netstat -tap | grep mysql 若没有显示已安装结果,则没有安装.否则表示已经安装. ...

  8. AWS 中文入门开发教学 36- 连接MySQL - MySQL客户端工具

    知识点 在EC2安装 MySQL 客户端工具,连接到 MySQL RDS 数据库实例 实战演习 拷贝数据库终端节点 安装 MySQL 客户端命令行工具 连接到 MySQL 服务器实例 建立数据表 添加 ...

  9. MySQL安装与Navicat 图形化客户端工具

    登录https://downloads.mysql.com/archives/community/ 下载完成后解压 配环境变量 新建系统变量:变量名可以自己写,变量值就复制刚才mysql的位置 编辑p ...

最新文章

  1. Spring Cloud Netflix Zuul中的速率限制
  2. JDK源码解析 Comparator 中的策略模式
  3. Kruskal HDOJ 4313 Matrix
  4. 你每隔多久使用计算机上网查找资料英文,牛津英语8B Unit3导学案
  5. 百年诺奖的那些争议与放弃
  6. android 动态设置textview的边距,添加边距为动态的Android的TextView(Adding Margins to a dynam...
  7. JavaScript核心参考
  8. Anbox之Ubuntu18.04安装(二)
  9. MySQL从查找数据库表到删除全过程
  10. 浅谈-国标GB28181协议上下级对接国标编码要求(四)
  11. android mac地址过滤,android手机怎么更改mac地址绕过mac过滤
  12. 开源的文件服务器有哪些,开源文件服务器
  13. pdf合并 java_用Java拆分及合并PDF文档
  14. 2020 mse 清华_家长们看过来!2020年下半年剑桥MSE考试备考全攻略!
  15. 生成pdf设置中文字体出错Identity-H' is not recognized
  16. 手机更换证件照背景色只需1分钟,别去打印店花冤枉钱了
  17. SPSS Modeler 建模前准备—数据平衡与特征选择(指南 第十一章)
  18. chrome和Firefox浏览器如何访问非安全端口站点
  19. 如何作一名成功创业者
  20. 利用jad破解.class文件

热门文章

  1. Java生鲜电商平台-微服务架构概述
  2. 字符串的拆分以及分隔符所在不同位置的删除
  3. java 将一个非空文件夹拷贝到另一个地方
  4. 服务器资源管理器视图的添加显示的步骤
  5. HDU 3709 Balanced Number (数位DP)
  6. 开启chrome默认支持ipv6
  7. Java程序设计 图形用户界面 小巫版简易计算器
  8. 13个代码注释的小技巧
  9. 对话jQuery之父John Resig:JavaScript的开发之路
  10. 采用HttpModules来重写URLs(原理篇)转