mysql基础-数据库初始化操作必要步骤和客户端工具使用-记录(二)

0x01

mysql启动时,读取配置文件的顺序   

Default options are read from the following files in the given order:
/etc/mysql/my.cnf     /etc/my.cnf      ~/.my.cnf

使用配置文件的方式
1.它依次查找多个需要查找的文件,结果是所有文件交集
2.如果某参数在多个文件中宏出现多次,后配置的最终生效

可以使用 mysql --help --verbose 来查看
1.显示mysql的程序启动时可用的选项,通常都是长选项
2.显示mysqld配置文件中可用的服务变量
mysql > show global variables
mysql > show session variables

 

0x02

1. 在mysql数据库安装好之后,首先的初始化操作就是删除匿名用户

查询有哪些匿名用户

select host,user,password from mysql.user;

删除对应的匿名用户,实际情况,可根据实际情况删除。

drop user ''@'localhost';

drop user ''@'stuphp.hping3.com';

用户名账号由两部分组成:username@host
host还可以使用通配符
%:任意长度的任意字符
_:匹配任意单个字

2. 给所有root用户设置密码

第一种方式修改密码:  

实例 ---> mysql > set password for root@localhost = password('photon'); 

格式 ---> mysql > set password for username@host = password( 'your_password')

第二种方式修改密码:

该方式修改密码,是直接修改mysql下的user表,所有要先进到user表中执行

故   use mysql;

update user set password = password('redhat') where user = 'root';

让其立即生效   ---- 即 让其通知mysqld重新读取 user表

flush privileges;

第三种方法修改密码:

实例 ---->  

mysqladmin -uroot -hlocalhost password 'photon' -p  ----localhost  是一个主机IP

mysqladmin -u root -h localhost -p flush-privileges    ----让其生效

格式 ---->  

mysqladmin -u UserName -h Hot password 'new_password' -p
mysqladmin -u UserName -h Host -p flush-privileges

 

0x03

接入MySQL服务器
mysql <-mysql protocol-> mysqld

mysql接受链接请求
本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信
Linux OR Unix:Unix Sock,/tmp/mysql.scok,/var/lib/mysql/mysql.sock


Widows:memory pipe
远程通信:客户端与服务器位于不同的主机,或在统一主机便使用非回环地址通信
TCP Socket

客户端工具:mysql,mysqladmin,mysqldump,mysqlcheck
[client]

通信的选项:
-u,--user=
-h, --host=
-p, --password=
--protocol={tcp|socket|memory|pipe}
--port=
--socket=/tmp/mysql.sock

mysql监听的端口:3306/tcp

非客户端类的管理工具:myisamchk,myisampack
myisamchk --检测工具
myisampack 打包工具
mysql:
交互式模式
mysql>
脚本模式
mysql < /path/to/mysql_scripy.sql

mysql交互式模式:
客户端命令
mysql> help
mysql>\?
\c:取消命令的执行
\g
\G
\q
\!
\s
\. /path/to/mysql_script.mysql 批处理zhixingmysql命令
\# 命令补全 --- 她需要读取表重新生成hash ,会导致比较大的数据,出现卡的情况
服务器端命令:需要命令结束符,默认为分号(;)
mysql> help关键字

help contents   获取整体列表

help  keyword   获取相关命令的列表

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.

0x04

mysql命令行选项
--compress 压缩传输
--default-character-set 默认的字符集设置
-V: 显示版本号
-v: 显示详细信息
--ssl-ca ca证书
--ssl-capath ca证书的文件夹
--ssl-cert 客户端证书
--ssl-cipher 加密
--ssl-key 使用的私钥
--ssl-verify-server-cert 验证服务器端证书

--database= -D:指定要使用的数据库

 

mysql命令提示符
mysql> 等待输入命令
'> 前面提供的‘未提供结束’
”> 引用字符串
`> 引用字符串
—> 续航符
/*> 注释信息

mysql快捷键和Linux下shell差不多

ctrl+w:删除光标所在处之前的一个单词  --- 同shell
ctrl+u:删除光标之前的所有内容到行首  --- 同shell
ctrl+y:粘贴之前ctrl+w或者ctrl+u删除的内容
ctrl+a:移动光标至行首     --- 同shell
ctrl+e:移动光标至行尾     --- 同shell

mysql的输出格式

-H --html:输出为html格式的文档
-X --xml:输出为xml格式的文档

--safe-updates:发送命令时拒绝使用无where字句的update或delete命令   但是如果使用limit 是可以正常执行

使用 -H参数

mysql -H -uroot -p    ----查询结果是html格式

 

0x05

mysqladmin工具
mysqladmin [options] command [arg] [command[arg]] .....

command
create DB_Name 创建空数据库 mysqladmin -uroot -p create mydb
-e:直接返回 mysql -uroot -p -e 'show databases;' ---不进数据库就可以查看数据库
drop DB_Name 删除数据库
debug 打开调试日志并记录与error log中
status:输出简要状态信息 mysqladmin -uroot -p status
-sleep # 指定显示延迟 mysqladmin -uroot -p status --sleep 3 sleep 指定睡眠几秒钟再显示
-count # 指定批次 mysqladmin -uroot -p status --sleep 1 --count 5 指定显示几次
extended-status:输出mysq的各状态变量及数值,相当于执行“mysql> show global status” mysqladmin -uroot -p status extended-status
flush-hosts:清空主机相关的缓存:DNS解析缓存,此前因为连接错误次数过多而被拒绝访问mysqld的主机列表
flush-logs:日志滚动,主要是二进制日志和中继日志
refresh:相当于同时使用flush-logs和flush-hosts

flush-privileges:通知服务器重读授权表
reload:重载授权表
flush-status:重置状态变量的值
flush-tables:关闭当前打开的表文件句柄, 但是如果有表正在被查询,就要等查询完毕,才关闭!
flush-threads:清空线程缓存
kill:杀死指定的线程,可以一次杀死多个线程,以逗号分隔,但不能有多余空格
password:修改指定用户的密码
processlist: 显示线程列表 mysqladmin -uroot -p processlist
shutdown:关闭mysqld进程

start-slave 启动从服务器进程
stop-slave 关闭从服务器进程
variables:显示mysql的各服务器进程

GUI客户端工具
Navicat for mysql    ---推荐使用该GUI工具
Toad for mysql
SQLyog
MySQL Front
phpMyAdmin

总结 -----> mysql初始化,mysql配置文件读取次序,mysql初始用户,mysql客户端命令 mysqladmin GUI

posted @ 2015-12-26 10:35  皇帽讲绿帽带法技巧  阅读(404)  评论(0编辑  收藏  举报