mysql监听的端口: 3306/tcp
查看端口
ss -tnl
查看命令历史
~/.mysql_history
Mysql初始化:提供配置文件(/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf)
集中式的配置:多个应用程序共用的配置文件
[mysqld]
[mysqld_safe]
[client]
使用配置文件的方式
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
转载于:https://blog.51cto.com/kaiyuandiantang/2311619