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" //查看都有什么数据库

四. Mysql常用命令
库是由表组成的。表由字段组成的 库---表--字段
> show databases; //--查看都有什么数据库

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


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


desc user; 查看字段


查看建表语句
show create table user\G; ---\G表示竖排显示


查看当前用户
select user(); --当前登录为本机


查看当前使用的数据库
select database(); --当前所在mysql库


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


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


查看当前数据库版本
select version(); ---当前为5.6.36


查看数据库状态
show status;


查看mysql的参数--这些参数也可以再my.cnf定义
show variables; --这里列举一部分


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


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


查看当前mysql服务器的队列:
查看服务器队列可以查看当前mysql在干什么,也可以发行是否有锁表!
show processlist;
show full processlist; 完整查看(可以看到info这里显示比较完整)


五. 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


查看其它用户权限
show grants for user1;


如果有指定IP的用户需要加上@后面跟指定的IP
show grants for user2@localhost;


六. 常用sql语句
查询语句;
count(*)表示表中有几行 mysql.user :表示查询mysql库中的user表
select count(*) from mysql.user;


查询表中的所有数据
mysql.user :表示查询mysql库中的user表 *表示所有数据
select * from mysql.user\G;


查询指定段的数据
select db from mysql.user;


也可以指定多个字段查询数据
select db,user from mysql.db;


插入一行数据;
use db1; ---切换db1库
create table t3 (`id` int(4), `name` char(40)); ---创建一个t3的表
insert into db1.t3 values (1,'aa'); ----插入一行数据
select * from db1.t3; ---查询表中数据


更改表中数据
update db1.t3 set name='123' where ind=1;
可以看到表中数据原本是aaa变成了123


清空表中数据,表中结构保留
truncate table db1.t3;
desc查看字段,可以看到只清空了表的数据,结构还是保留了


删除表;
show tables; --- 查询当前库的表
drop table db1.t3; ----删除表
可以看到原本的t3表已经删除了。


删除库;
show databases; ---查询当前库
drop database db1; ---删除库
可以看到原本的db1库已经删除了。


七. mysql数据库备份恢复
备份数据库示例;
1. show databases; ---查询库


2. 退出mysql利用mysqldump工具进行备份
mysqldump -uroot -pmysql mysql > /beifen/mysql.sql ---备份mysql到beifen目录改名为sql后缀


3. cd 查询是否备份成功


4. 恢复数据库
先删除原先的mysql
drop database mysql;


进行恢复
mysql -uroot -pmysql </beifen/mysql.sql
进入表查看
show tables;


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

被折叠的 条评论
为什么被折叠?



