0512MySQL常用操作

本文详细介绍了MySQL常用操作,包括设置更改root密码、连接数据库、常用命令、用户管理、常用SQL语句等内容,还阐述了数据库和表的备份恢复方法,如使用mysqldump工具备份,通过特定命令恢复,为MySQL使用者提供了全面的操作指南。

0512MySQL常用操作

一、设置更改root密码

1. 把mysql命令加入环境变量PATH

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

2. 重启服务/重新加载profile文件

/etc/inin.d/mysqld  restart

source /etc/profile

3. 设置root密码

mysqladmin -uroot password 'mysql'   //单引号可加可不加,但又特殊字符最好加上/-u指定用户

4.测试登录

mysql -uroot -p              //-p选项后面可跟密码,也可不跟密码,不跟密码是交互式登录

二、更改密码

如果知道root密码,可以使用mysqladmin直接更改密码

mysqladmin -uroot -p'mysql' password 'abcsss'   

如果不知道root密码,需要按如下方法重置mysql密码

1.在/etc/my.cnf配置文件里添加 skip-grant

2.mysql -uroot   ---进入到库

3.use  mysql   ----切换到库

4.update user set password=password('abcd') where user='root';   --更改密码

5.编辑/etc/my.cnf,取消skip-grant

6./etc/init.d/mysqld  restart    ----重启mysql服务

三. 连接mysql

1. 连接本地的数据库

mysql -uroot -pmysql

2.连接远程

mysql -uroot -pmysql -h127.0.0.1 -P3306   // --P指定端口 --h指定host(IP)

3.通过sock连接

mysql -uroot -pmysql -S/tmo/mysql.sock   //-S指定sock文件

4. 连接mysql后运行命令(多数使用在shell脚本里)

mysql -uroot -pmysql -e "show databases"    //查看都有什么数据库

4e282a9d0635c64d3e2cb7ec2af6f76a10e.jpg

四. Mysql常用命令

库是由表组成的。表由字段组成的    库---表--字段

> show databases;  //--查看都有什么数据库

5b6158ca520c4b4fa7f12ce0012140e67e1.jpg

use mysql ;   ---切换到那个库

8552fb8ae4983e340c69096d2795ac0acca.jpg8061fa5c359f5590ce14f166dd2c045f2a4.jpg

show tables;   - --查看库里的表

ca393606639d6581abc4f0f13d276ce94f6.jpg39b25af152c3ee29cf91d3fa006e455834d.jpg

desc user; 查看字段 

687da3fc564f44d665164cc52bd0a3ce350.jpg54e5c95a8cb96d4af54ce34fb369991130d.jpg

查看建表语句

show create table user\G;  ---\G表示竖排显示 

91e7fa12eac64915c463816ebe4c608faec.jpg528d5c43b0d78a657cb56509587a68b58d3.jpg

查看当前用户

select user();   --当前登录为本机

a0e6dbb73bd68ca9c789e6252fd7bac6ca2.jpg2ed73bf9a7440fcd4a5aa8f22c931d6b4bb.jpg

查看当前使用的数据库

select database();   --当前所在mysql库

80016b9f1faa1feb3f1b33f7c4d8c4930ed.jpgdb240dcff38272df7fb1248f6e6ef4bca37.jpg

创建库

create database db2;   --可以看到多个db2的库

ca6bceba2719b6c5b8ef3f9549857d41c51.jpg54f4002c873adb8e8f5a13e2047ced8ff79.jpg

创建表

create table t1(`id` int(4), `name` char(40));   --t1为名字  id、name为字段 int为格式 char字符串最长40

2980c978218cba99bd7c3afd9936c4eba7e.jpg8176f5766ce7480d4406bd8360be37316d3.jpg

查看当前数据库版本

select version();  ---当前为5.6.36

00672f1829071e7e178cdc9b8ad2db659c3.jpg1cab69961d3cfe4dd2b9d30ceb3269588cd.jpg

查看数据库状态

show status;

77dfe027c5fea0361810b7f954769010e26.jpgcc5c986fb10b562114696158c81488caca8.jpg

 

查看mysql的参数--这些参数也可以再my.cnf定义

show variables;        --这里列举一部分

b94f8e661f9e2c9fe594fd9e592b021829d.jpg2b435c3f75e1fa86a0557532da3c326081d.jpg

也可以指定查找

show variables like 'slo%';  ---%表示通配,当你不记得字母可以使用这个

82cd2734bd4134abd50377f2158a755c1ed.jpgbd69808f23e87b031f96a554fe90b21989b.jpg

修改mysql参数

set global max_connect_errors=1000;  --global只是临时修改,要永久生效需要去配置文件添加

390127a590157f65b809299dae4535cb106.jpg4d346c2685a605d061609d2a42411a845d7.jpg

查看当前mysql服务器的队列:

查看服务器队列可以查看当前mysql在干什么,也可以发行是否有锁表!

show processlist;  

show full processlist;  完整查看(可以看到info这里显示比较完整)

03db4604c086518ed9c5b921de58a297294.jpg5e8d2f062a486fd8935c22565d3d53faf69.jpg

五. mysql用户管理

创建用户;

all:权限命令    *.* 表示允许操作那些库和表,库和表用.分开

> grant all on *.* to 'user1' identified by 'user1';  

创建用户且只能使用SELECT命令和操作db1库,@后面指定来源IP

> grant SELECT on db1.* to 'user2'@'localhost' identified by 'user2'

 

创建用户使用全部命令和全部库,任何机器都可以连接  %表示全部来源IP

> grant all on *.* to 'user2'@'%' identified by 'user2'

 

查看用户权限;

show grants;    ---这里是root登录只能查看root

45a78e80457a3f872d9de0be47530f91b79.jpg2ac173040cb4bb37c8025439bb2063dcc93.jpg

 

查看其它用户权限

show grants for user1;

94bca450258eae9f1d2f8b76d583e818f9a.jpg18123b8c290b96a5e0c669a1fb91eafa1db.jpg

 

如果有指定IP的用户需要加上@后面跟指定的IP

show grants for user2@localhost

85287c7d21ff7e59bd2e4e42b307c8cc347.jpgbb596756e34ca725a28c2f7d55f97f39faa.jpg

 

六. 常用sql语句

查询语句;

count(*)表示表中有几行  mysql.user :表示查询mysql库中的user表

select count(*) from mysql.user;   

311fe4b2b49647fb0c3cf676517cf576f8a.jpg8af5ba91e53b00721bceb9be393f9108456.jpg

 

查询表中的所有数据

mysql.user :表示查询mysql库中的user表     *表示所有数据

select * from mysql.user\G; 

a7cd14e2a5660d258a33d29da5a857c66cf.jpg7b66cb09a096bf7894ef96dc64941d48caa.jpg

 

查询指定段的数据

select db from mysql.user;

d092dc43bad7247d063d78ad814b666c8f9.jpg498c0f143c86a678dab30f019255b8f056b.jpg

也可以指定多个字段查询数据

select db,user from mysql.db;

62563a0de4a1333dcf9e244ec6ad9c54217.jpgce94244d5ab1610065c14faa935faa01c42.jpg

 

插入一行数据;

use db1;   ---切换db1库

create table t3 (`id` int(4), `name` char(40));  ---创建一个t3的表

insert into db1.t3 values (1,'aa');  ----插入一行数据

select * from db1.t3;   ---查询表中数据

 

c7d484124c918a2f73f6e2a7c6fa4324824.jpg8a41d071f1b1492f6ea485a8ad2a3948891.jpg

 

更改表中数据

update db1.t3 set name='123' where ind=1;    

可以看到表中数据原本是aaa变成了123

3b24c1713e0f2dbe5047c8ac26bc5406670.jpg6c6114de1061bb974c375311ea7d9132b27.jpg

 

清空表中数据,表中结构保留

truncate table db1.t3;    

desc查看字段,可以看到只清空了表的数据,结构还是保留了

8c9536e16d86122b2328864b5e3b6f3fbc0.jpgd9ff400ce802e8862a030581bae8967ade0.jpg

删除表;

show tables;  --- 查询当前库的表

drop table db1.t3; ----删除表

可以看到原本的t3表已经删除了。

09c4d0d35b3dbc105f4330c38cac592876d.jpg4876aba7ec8dc8b20cf52ed539f0f28405d.jpg

 

删除库;

show databases;   ---查询当前库

drop database db1; ---删除库

可以看到原本的db1库已经删除了。

218e2df22f3bb5d0432db1be6e4b8246d84.jpg0dd4151c4f28246dd12c450ab388737b1f2.jpg

 

七. mysql数据库备份恢复

备份数据库示例;

1.  show databases;  ---查询库

56c1dd1b10ed968698ee21ba3f514850abd.jpg8ea36931fe94de6d8dde250af436416619b.jpg

2. 退出mysql利用mysqldump工具进行备份

mysqldump -uroot -pmysql mysql   > /beifen/mysql.sql  ---备份mysql到beifen目录改名为sql后缀

d74e067f81d7c2dd8081cbd0814adf84b1c.jpgf454003e1311937aa9068cd6eee969cbcc1.jpg

3. cd 查询是否备份成功

27487c909e1994fe0bd05eed7dad3635888.jpg24a2a10d634176feda908249dab9b2f0d5f.jpg

4. 恢复数据库

先删除原先的mysql

drop database mysql;

ae2dcc237137ec3d3ca6519a89214476df9.jpgf7c6df481cb4aa516dc482873f6f4588e10.jpg

进行恢复

mysql -uroot -pmysql </beifen/mysql.sql

进入表查看

show tables;

9d3d51fe80451b77f7c6594473d5f862e05.jpg40c6c7f2ecbaa7fd65a190450b158878a1b.jpg

备份表

# mysqldump -uroot -pmysql mysql mysql t1 >/beifen/t1.sql

恢复表

# mysql -uroot -pmysql mysql < /beifen/t1.sql

备份所有库

# mysqldump -uroot -Pmysql -A >/beifen/quanbu.sql

只备份表结构

# mysqldump -uroot -Pmysql -d mysql >/beifen/jiegou.sql

转载于:https://my.oschina.net/u/4095803/blog/3052452

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值