目录
🦐博客主页:大虾好吃吗的博客
🦐MySQL专栏:MySQL专栏地址
MySQL数据库不仅提供了数据库的服务器端应用程序,同时还提供了大量的客户端工具程序,如mysql,mysqladmin,mysqldump等等
Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。
运行‘mysql --help’ 就可以获取mysql帮助信息,这里主要介绍运维过程中用到的选项,-e 这个参数可以在linux终端就可以对mysql数据库操作,这种方法多用于脚本的使用,格式如下:
[root@localhost ~]# mysql -uroot -p123 -e "show databases" #在终端查看有哪些库
mysql
例1: 通过binlog_cache_use 以及 binlog_cache_disk_use来分析设置的binlog_cache_size是否足够
[root@localhost ~]# mysql -uroot -p123 -e "show status like 'binlog_cache%'"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
+-----------------------+-------+
例2:通过脚本创建数据库、表及对表进行增、改、删、查操作。 脚本内容如下:
mysql1:192.168.8.1
mysql2:192.168.8.2
打开两台mysql服务器,IP分别为8.1和8.2,执行脚本使mysql1主机远程访问mysql2,对其进行增、删、改、查操作。需要注意的是,执行脚本前mysql2需要提前创建一个远程用户‘z3’、密码‘123’,因为密码在终端显示,所以会有Warning,实验中不理会就可以了。
[root@localhost ~]# cat mysql1.sh
#!/bin/bash
HOSTNAME="192.168.8.2"
PORT="3306"
USERNAME="z3"
PASSWORD="123"
DBNAME="test_db"
TABLENAME="tb1"
#create database
create_db_sql="create database if not exists ${DBNAME}"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
#create table
create_table_sql="create table if not exists ${TABLENAME} (name varchar(20),id int default 0)"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
#insert data to table
insert_sql="insert into ${TABLENAME} values ('tom',1)"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
#select data
select_sql="select * from ${TABLENAME}"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
#update data
update_sql="update ${TABLENAME} set id=3"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
#delete data
delete_sql="delete from ${TABLENAME}"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"
mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
使用mysql1主机创建授予z3用户可以在指定的源登录
[root@mysql1 ~]# mysql -uroot -p123 -e "grant all on test_db.* to z3@'192.168.8.%' identified by '