一、mysql的基本操作

1.首先要安装mysql才能使用mysql,才能使用mysql的命令
 
  1. # yum install -y mysql-server -y 
说明:执行之后会看到安装了4个软件包,其中客户端mysql也安装了,安装完成后默认账户是没有密码的。
********************************************************************************

2. 启动mysql的服务
 
  1. # service mysqld start  
为了安全起见,此时要给用户加密码并删除匿名用户。
先来看看都有哪些用户吧:
# mysql 由于默认安装是没有给账户加密码的,所以此时登录进去了(出现mysql>说明登录进去了)。
********************************************************************************

mysql> use mysql;   #选择数据库
mysql> select user,host,password from user; #看看都有哪些用户
********************************************************************************

说明:安装完成默认生成了5个用户,其中有2个匿名用户
3.删除匿名用户:
mysql> drop user ‘ ‘@localhost;   #删除用户
mysql> drop user ‘ ‘@localhost.localdomain;  #删除用户
4.给用户加密码:
mysql> set password for root@localhost.localdomain=password(‘123456’);   #第一种更改密码的方法
mysql> update user set password=password(‘123456’) where user=’root’ and host=’127.0.0.1’;  #第二种更改密码的方法
mysql> \q  #退出mysql
# mysqladmin –uroot –hlocalhost -p password ‘123456’  #第三种更改密码的方法
5.创建删除数据库
mysql> create database mydb;  #创建mydb数据库
说明:出现图中的提示说明创建数据库成功
********************************************************************************
mysql> show databases;   #查看所有数据库

mysql> drop database mydb; #删除数据库
6.创建删除表
mysql> use mysql;
mysql> create table stu1 (
     -> name VARCHAR(20)
          -> age INT );  
mysql> insert into stu1 (name,age) value (‘Tom’,’53’);
说明:为mysql数据库创建stu1表,并为表添加一条数据
mysql> show tables;  #显示表
mysql> drop table stu1;  #删除表
7.给用户授权
mysql> grant ALL PRIVILEGES on *.* to stu1@localhost;  #给stu1用户授予所有数据库的所有权限(实际工作的时候千万别这样做)
mysql> grant ALL PRIVILEGES on *.* to stu1@localhost IDENTIFIED BY ‘123456’;  #假如stu1不存在,则创建stu1用户并加上密码,同时给它授予所有数据库的所有权限(实际工作的时候千万别这样做)
8.其他
# mysql -? | mysql -I | mysql --help  #查看选项及帮助信息
********************************************************************************
 

mysql, mysqldump, mysqladmin, mysqlcheck的通用选项:
-?    查看选项及帮助信息
-I       查看选项及帮助信息
--help        查看选项及帮助信息
--user,-u 指定用户身份
--host,-h   指定服务器的主机名称
--password,-p 指定密码
--procotol 指定协议,可跟以下选项
tcp         在任何平台都可以
socket  只能是UNIX平台
pipe           只能是windows平台
memory   只能是windows平台
--socket=--protocol socket
-D db_name 设定默认数据库
例:mysql –D mysql(如果用户没有密码没有,连接上去则默认数据库为mysql)
--database db_name 设定默认数据库
--compress 压缩
 
二、How to using mysql?
1.mysql有两种工作模式:
交互式模式 例:mysql> show databases;
批处理模式  例:# mysql < ext.sql
交互式模式下有两类命令:
客户端命令 (可以不需要命令结束符 例:mysql> use database)
服务器端命令(必须使用命令结束符,例:mysql> show databases;)
怎样区分客户端命令与服务端命令?
使用mysql> help 获取的通常都是客户端的命令
2.mysql的提示符
mysql> 等待新的状态
-> 续行符
‘> 只写了一半的单引号,未写全
“> 只写了一半的双引号,未写全
         `> 通常用于引用数据库对象
         /*>   c语言风格的注释符,只写了一半
Ctrl+a 跳到行首
Ctrl+e 跳到行尾
Ctrl+u 删除光标所在处至行首的所有内容
Ctrl+y 粘贴删除的内容
mysql > \c 取消执行
例:mysql> select * from user \c   取消了执行,类似于ctrl+c
mysql > \d 定义语句的结束符,默认为”;”
例:mysql > \d // 定义语句的结束符为“//”
mysql > \g
如果不知道语句结束符是什么而要执行语句,可用下面的方法:
mysql > select * from user\g
********************************************************************************

mysql > \G 不知道语句结束符是什么而要执行语句并且竖排显示
mysql > select * from user\G
********************************************************************************

mysql> \! 不退出mysql直接执行shell命令
例:mysql> \! ls /etc
********************************************************************************

mysql> \s 从服务器端获取状态信息
********************************************************************************

三、How to using mysqladmin?
mysqladmin [option] command [arg] [command] [arg]
# mysqladmin create name 创建数据库,name为要创建数据库的名字
# mysqladmin drop name   删除数据库,name为要删除数据库的名字
# mysqladmin debug 输出调试信息的  (一般不用)
# mysqladmin status 显示状态信息的
********************************************************************************

# mysqladmin extended-status 显示服务器的系统变量和当前值
********************************************************************************

 
 
# mysqladmin flush-hosts 清空hosts内部的DNS缓存和名称解析中错误的连接信息
# mysqladmin flush-logs 滚动二进制日志的
# mysqladmin flush-privileges 重读
# mysqladmin flush-tables 关闭当前打开的表
# mysqladmin flush-status 重置服务器当前变量
# mysqladmin flush 重置线程缓冲池的
# mysqladmin processlist 显示线程的
********************************************************************************

# mysqladmin ping 显示服务器是否运行
********************************************************************************

# mysqladmin reload 重读
# mysqladmin refresh 关闭所有打开的表,并且滚动二进制日志
# mysqladmin shutdown 关闭指定的mysqld服务器
# mysqladmin start-slave 启动从服务器进程的
# mysqladmin stop-slave 停止从服务器进程的
# mysqladmin –sleep 每隔一段时间显示出来
例:# mysqladmin –sleep 3 –count 3 status 每隔3s显示一次状态信息,只显示3次
********************************************************************************