MySQL小工具(客户端命令:\h可以查到的 服务器端命令:必须以分号结束)
1、进入mysql
可用客户端命令查看帮助help和状态status
或者用服务端命令列出数据库列表并进入数据库。show databases;use mysql
2、可修改mysql提示符格式:man mysql 查看帮助,搜索关键字:/prompt
有三种方式可以更改
1、根据环境变量修改,如:export MYSQL_PS1="(\u2\h) [\d]> " (临时性)
2、MySQL命令行修改,如:mysql --prompt="(\u2\h) [\d]> " (退出重进MySQL失效,临时性)
3、在配置文件中修改,如:vim /etc/my.cnf (长期有效)
[mysql] (应用在客户端)
prompt="(\\u2\\h) [\\d]>\\_
3、也可把用户名和密码写入到配置文件,登录的时候就不用输入用户密码了: (不安全,仅用于测试环境)
vim /etc/my.cnf
[mysql] #可改为[client],所有的功能都可用下面用户密码
prompt="(\\u2\\h) [\\d]>\\_
user=root
password=123456
4、mysql非交互式执行命令 -e
mysql -uroot -p123456 -e status
执行多个命令(可把多个命令写在文件中,标准输入重定向)
vim mysql.txt
use mysql
status
mysql -uroot -p123456 < mysql.txt
5、使用source交互式调用文件执行命令
进入mysql
source mysql.txt
6、也可使用socket文件连接
mysql -S /var/lib/mysql/mysql.sock
socket文件作用:服务器和客户端在一台电脑时,不需要走TCP、UDP协议的IP加端口的形式来访问,通过socket文件来传输,实现了两个程序的通信,不用封装解封装了。
7、查看当前在那个数据库
(1)status
(2)select databases();
查看版本
select version();
8、取出mysql状态信息的访问量
mysql -e status | awk '/^Threads/{print $2}'
mysqladmin也是客户端工具
1、如果想mysqladmin +命令不需要密码直接执行,需要在配置文件/etc/my.cnf 如下修改
[client]
uesr=root
password=123456 保存后就不再需要密码和用户验证了
2、ping命令检查mysql状态是否正常
mysqladmin ping
mysqld is alive
3、关闭mysql
mysqladmin shutdown和systemctl stop mysqld一样
4、创建数据库
mysqladmin create m50db 创建数据库
查看数据库
mysqladmin -e "show databases"
drop删除数据库
mysqladmin drop m50db
5、修改密码
mysqladmin password 654321
mycli
MyCLI 是基于Python开发的MySQL的命令行工具,具有自动完成和语法突出显示功能 相当于增强版的mysql
ubuntu安装运行
yum -y install mycli
mysql -e status查看socket文件
mycli -S /var/run/mysqld/mysqld.sock
输入命令可自动补全
CentOS安装运行
yum -y install python3-pip-y
pip3 install mycli
服务器端配置
服务器端配置文件
三个都是服务器的配置文件,建议放在一个配置文件中,一般放在第一个里面。
里面可以放服务器端的,也可以放客户端工具的。
/etc/my.cnf
/etc/mysql/my.cnf
~/.my.cnf
配置文件格式:
[mysqld] #服务器端
[mysqld_safe]
[mysqld_multi]
[mysql] #只针对mysql命令
[mysqladmin] #只针对mysqladmin命令
[mysqldump]
[server]
[client]
_和 - 相同 1,
ON、TRUE意义相同,
0、OFF、FALSE意义相同,无区分大小写
如:read_only=1|ON|TROE,同read-only=1|ON|TROE
也可read_only不写默认为1
关掉远程连接方法一:ubuntu2004
vim /etc/mysql/mysql.conf/mysqld.cnf
bind-address =127.0.0.1
mysqlx-bind-address =127.0.0.1
关掉远程连接方法二:
在[mysqld]下写
skip-networking=1
bind_address=127.0.0.1
重启数据库服务systemctl restart mysql Ubuntu不带d
ss -ntl查看端口没有了,连接只能通过socket本地连接了,用mysql -S加sochet文件,维护状态用