常用MySQL操作

目录

1.更改MySQL数据库的root密码

2.连接数据库

3.MySQL基本操作的常用命令

4.常用的SQL语句

5.MySQL 数据库的备份与恢复

常用MySQL操作

1.更改MySQL数据库的root密码

首次进入数据库不用密码,如下

# /usr/local/mysql/bin/mysql -uroot
Welcome ...
...
mysql> //exit或quit退出

把/usr/local/mysql/bin加入环境变量PATH中,如下

# PATH=$PATH:/usr/local/mysql/bin
//重启Linux系统会失效,所以写入开机加载的环境变量文件里
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile
# mysql -uroot
...
mysql>

root设置密码

# mysqladmin -uroot password ‘123456‘
warning: Using a password on the command line interface canbe insecure.
//提示在命令行下暴露了密码,不安全

登录

# mysql -uroot -p‘123456‘       //-p后面不能有空格,不加单引号有特殊符号的密码会报错,-p后不接密码为交互式输入密码
...
mysql>

2.连接数据库

连接(远程)数据库

# mysql -uroot -p -h192.168.188.128 -P3306

3.MySQL基本操作的常用命令

3.1 查询当前库

mysql> show database;

3.2 查询某个库的表

mysql> use mysql;
mysql> show tables;

3.3 查看某个表的全部字段

mysql> desc db;

另一条命令,信息详细且把建表语句全部列出来:

mysql> show create tables db\G;             //G竖排显示

3.4 查看当前是哪个用户

mysql> select user();

3.5 查看当前所使用的数据库

mysql> select database();

3.6 创建一个新库

mysql> create database db1;

3.7 创建一个新表

mysql> use db1;
mysql> create table t1 (`id` int(4), `name` char(40));
id name

3.8 查看当前数据库的版本

mysql> select version();

3.9 查看MySQL的当前状态

mysql> show status;

3.10 查看MySQL的参数

mysql> show variables;

参数很多。其中很多参数是在/etc/my.cnf中定义的,有部分参数可以在线编辑。

3.11 修改MySQL的参数

举例,修改参数max_connect_errors

mysql> show variables like ‘max_connect%‘;
---
variable_name Value
max_connect_errors 100
max_connections 151
---
?
mysql> set global max_connect_errors = 1000;
ok
?
mysql> show variables like ‘max_connect_errors‘;
---
variable_name Value
max_connect_errors 1000
---

%为通配符,set global为临时修改,重启会失效。永久生效需在my.cnf中定义

3.12 查看当前MySQL服务器的队列

查看服务器队列在日常的管理工作中最为繁忙。可以看当前MySQL在干什么,也可以发现是否发生锁表

mysql> show processlist;

3.13 创建一个普通用户并授权

mysql> grant all on *.* to user1 identified by ‘123456‘
//本机
mysql> grant all on db1.* to ‘user2‘@‘192.168.188.128‘ identified by ‘111222‘;
//网络中的其他机器上,
mysql> grant all on db1.* to ‘user2‘@‘%‘ identified by ‘111222‘;
//该符号%表示所有主机

all 表示所有的权限(如读、写、查询、删除等操作);

第一个*表示所有库,后者表示所有的表。

identified by后面跟密码,单引号引起;user1特指localhost上的user1

4.常用的SQL语句

4.1查询语句

mysql> select count(*) from mysql.user;     //count(*)表示表*有的行数
?
mysql> select * from mysql.db; //表示mysql库中的db表
mysql> select db from mysql.db;
mysql> select db,user from mysql.db;
?
mysql> select * from mysql.db where host like ‘192.168.%‘;

4.2 插入一行

mysql> insert into db1.t1 values (1, ‘abc‘);
mysql> select * from db1.t1;
id name
1 abc

4.3 更改表的某一行

mysql> updata db1.t1 set name=‘aaa‘ where id=1;
mysql> select * from db1.t1
id name
1 aaa

4.4 清空某个表的数据

mysql> truncate table db1.t1;
mysql> select * from dbq.t1;
//为空

4.5 删除表

mysql drop table db1.t1;

4.6 删除数据库

mysql> drop database db1;

5.MySQL 数据库的备份与恢复

5.1 MySQL备份

# mysqldump -uroot -p‘123456‘ mysql >/tmp/mysql.sql
//备份mysql库

5.2 MySQL 恢复

# mysql -uroot -p‘123456‘ mysql </tmp/mysql.sql

出处:《跟阿铭学Linux》

 

常用MySQL操作

上一篇:mysql8.0.22忘记密码和重置


下一篇:MySQL之——索引