30、mysql初始化及客户端工具的使用

mysql监听的端口: 3306/tcp

查看端口

ss -tnl

查看命令历史

~/.mysql_history


Mysql初始化:提供配置文件(/etc/mysql/my.cnf  /etc/my.cnf  ~/.my.cnf)

集中式的配置:多个应用程序共用的配置文件

[mysqld]

[mysqld_safe]

[client]        

扫描二维码关注公众号,回复: 3881143 查看本文章

使用配置文件的方式

1、它依次查找每个需要查找的文件,结果是所有文件并集;

2、如果某参数在多个文件中出现多次,后读取的最终生效;


# /usr/local/mysql/bin/mysqld --help --verbose

  0、读取配置文件的顺序

1、显示mysqld程序启动时可用的选项,通常都是长选项

2、显示mysqld的配置文件中可用的服务变量

SHOW GLOBAL VARIABLES

SHOW SESSION VARIABLES


初始化:第二个操作

1、删除所有匿名用户

  SELECT User,Host,Password FROM user;

DROP USER ''@'localhost';

DROP USER ''@'localhost.localdomain';


用户帐号由两部分组成:username@host

host还可以使用通配符:

%: 任意长度的任意字符

_: 匹配任意单个字符


2、给所有的root用户设定密码:

第一种方式:

SET PASSWORD FOR username@host = PASSWORD('your_passwrod');

第二种方式:(推荐)

PDATE user SET password = PASSWORD('your_password') WHERE user = 'root';

FLUSH PRIVILEGES;

第三种方式:

mysqladmin -uUserName -hHost password 'new_password' -p

mysqladmin -uUserName -hHost -p flush-privileges

3、设置远程登录账号

GRANT ALL ON mysql.* TO 'testuser'@'192.168.%.%' IDENTIFIED BY 'testpass';

FLUSH PRIVILEGES;

SELECT User,Host,Password FROM user;


连入MySQL服务器

mysqld接收连接请求:

本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信;

Linux OR Unix: Unix Sock, /tmp/mysql.sock, /var/lib/mysql/mysql.sock

Windows: 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


非客户端类的管理工具:myisamchk, myisampack


mysql工作模式: 

交互式模式

mysql> 

脚本模式

mysql < /path/to/mysql_script.sql


mysql交互式模式:

客户端命令

mysql> help

\q

\. /path/to/mysql_script.sql

服务器端命令:需要命令结束符,默认为分号(;)

mysql> help contents

mysql> help Keryword


mysql命令行选项:

--compress 压缩传输

--database=, -D             指定连接的数据库

-H, --html 输出结果为html格式的文档

-X, --xml 输出格式为xml

--sate-updates:         拒绝使用无where子句的update或delete命令;


mysql命令提示符:

mysql> 等待输入命令

->  续航符

'> 等待输入单引号分隔符

"> 等待输入双引号分隔符

`> 等待输入反引号分隔符

/*> 注释信息

单引号、双引号、反引号都可以用来引用字符


mysql的快捷键:

Ctrl + w: 删除光标之前的单词

Ctrl + u: 删除光标之前至命令行首的所有内容

Ctrl + y: 粘贴使用Ctrl+w或Ctrl+u删除的内容

Ctrl + a: 移动光标至行首

Ctrl + e: 移动光标至行尾


mysqldmin工具:

mysqladmin [options] command [arg] [command [arg]] ...

command: 

create DB_NAME 创建数据库

drop DB_NAME 删除数据库

debug 打开调试日志并记录于error log中;

status 显示简要状态信息

--sleep # 间隔时长

--count # 显示的批次

extended-status 输出mysqld的各状态变量及其值,相当于执行“mysql> SHOW GLOBAL STATUS”

variables 输出mysqld的各服务器变量


flush-hosts 清空主机相关的缓存:DNS解析缓存,此前因为连接错误次数过多而被拒绝访问mysqld的主机列表

flush-logs 日志滚动,二进制日志和中继日志

refresh 相当于同时使用flush-logs和flush-hosts


flush-privileges: 

reload 功能同flush-privileges

flush-status 重置状态变量的值

flush-tables 关闭当前打开的表文件句柄

flush-threads 清空线程缓存

kill 杀死指定的线程,可以一次杀死多个线程,以逗号分隔,但不能有多余空格

password 修改当前用户的密码

ping 查看数据库是否在线

processlist 显示mysql线程列表

shutdown 关闭mysqld进程;


start-slave 启动从服务器线程

stop-slave 关闭从服务器线程



GUI客户端工具:

Navicat for mysql

Toad for mysql

mysql front

sqlyog

phpMyAdmin


猜你喜欢

转载自blog.51cto.com/kaiyuandiantang/2311619