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

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

  1. MySQL基础/数据库和表的设计

    MySQL基础 一:安装MySQL(按步骤操作,如果下载后使用不了,试着用360安全卫士卸载MySQL,清除残留的,方便在下载造成不必要的麻烦:如果这样也不行,那就需要重做系统在进行下载) 二:创建数 ...

  2. MySQL基础~~表结构操作

    登录数据库服务器 mysql -h127.0.0.1 -uroot -p123456 创建数据库 create database test; 显示所有数据库 show databases; 指定要操作 ...

  3. mysql 导入数据库 命令操作

    window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

  4. mysql避免数据库误操作小技巧(转)

    避免混淆开发环境的DB和生产环境的DB这在小公司小团队尤其常见.一个人即负责开发,又管DB.桌面上开了一坨终端,有的是开发的DB,有的是生产的DB.一不留神,就写串了,或者粘贴串了.更郁闷的是,有时候 ...

  5. MySQL教程:数据库具体操作

    1. 连接数据库服务器 $ ./mysql -h host_name -u user_name -p -h host_name(--host=host_name),连接的数据库主机名,如果在本地主机上 ...

  6. Mysql基础3-数据操作语言DML-数据查询语言DQL

    主要: 数据操作语言DML 数据查询语言DQL 数据操作语言DML DML: Data Mutipulation Language 插入数据(增) 一般插入数据形式 1)形式1: insert [in ...

  7. MySQL基础 - 数据库备份

    出于安全考虑,数据库备份是必不可少的,毕竟对于互联网公司数据才是价值的源泉~ 距离mysql账号为icebug,密码为icebug_passwd, 数据库为icebug_db mysqldump -u ...

  8. php操作mysql(数据库常规操作)

    php操作数据库八步走 <?php .建立连接 $connection '); .判断连接是否成功 if (mysqli_connect_error() != null) { die(mysql ...

  9. mysql基础-数据库表简单查询-记录(五)

    0x01 MySQL的查询操作 单表查询:简单查询                 多表查询:连续查询                联合查询 选择和投影 投影:挑选要符合的字段     select ...

随机推荐

  1. Docker & k8s 系列二:本机k8s环境搭建

    本篇将会讲解k8s是什么?本机k8s环境搭建,部署一个pod并演示几个kubectl命令,k8s dashboard安装. k8s是什么 k8s是kubernetes的简写,它是一个全新的基于容器技术 ...

  2. 搞懂js中小数运算精度问题原因及解决办法

    js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言中的double类型(双精度浮点型),不区分浮点型和整数型. number类 ...

  3. 2.3 Go内置函数

    内置函数 Go 语言拥有一些不需要进行导入操作就可以使用的内置函数.它们有时可以针对不同的类型进行操作,例如:len.cap 和 append,或必须用于系统级的操作,例如:panic.因此,它们需要 ...

  4. 用实例理解k8s群集(干货)

    一些概念: 1. pods是一组容器的集合,以pods为单位来管理,共享PID,网络IP和CUTS命名空间: 2. 容器共享存储卷:用yml文件来定义容器,是k8s里的最小单位. 3.本实验要先准备好 ...

  5. block和delegate的选择

    block和delegate均为常用回调方式 (暂不讨论通知)   代理 优点: 设置某个对象的代理,代理对象可以与被代理对象不直接相关,即使两个对象距离较远,传值也比较方便. 代理方法内可以方便调用 ...

  6. PAT-1057 Stack (树状数组 + 二分查找)

    1057. Stack Stack is one of the most fundamental data structures, which is based on the principle of ...

  7. codeforces Gym - 101485 D Debugging (2015-2016 Northwestern European Regional Contest (NWERC 2015))

    题目描述: 点击打开链接 这题题意其实很不好理解,你有一个n行的程序,现在程序运行了r时间之后停止了运行,证明此处有一个bug,现在你需要在程序中加printf来调试找到bug所在的位置,你每次加一个 ...

  8. UVA10779 Collectors Problem

    题目链接:https://cn.vjudge.net/problem/UVA-10779 前言: 本题是关于姜志豪<网络流的一些建模方法>的笔记. 知识点: 最大流 题意摘抄: \(Bob ...

  9. ThreadLocal原理分析

    本文结构 ThreadLocal简介 (简要说明ThreadLocal的作用) ThreadLocal实现原理(说明ThreadLocal的常用方法和原理) ThreadLocalMap的实现 (说明 ...

  10. 0515项目优化和List集合

    0515项目优化和List集合 1. 项目优化 1.1 分析当前情况 问题 数据存储是数组形式,数据类型明确.复用度较低. 需求 Student操作使用的代码,StudentManager想要操作考虑 ...