MySQL常用操作
任务1 更改root密码
- 更改环境变量
修改/etc/profile文件,文件尾添加mysql的绝对路径,修改环境变量如图所示:
vim /etc/profile(在文档末尾添加下行内容)
export PATH=$PATH:/usr/local/mysql/bin
启动MySQL
service mysql start
启动如果报错,
则编辑配置文件
vim /etc/init.d/mysql
添加–user=root参数
- 创建MySQL密码
使用命令mysqladmin -uroot password '123456’为root用户创建初始密码,如图所示:
注释:可以忽略warning内容,指的是明码输入屏幕不安全。
使用命令mysql -uroot -p123456,完成初始密码登录,如图所示:
- 密码重置
修改配置文件/etc/my.cnf,在mysqld配置段,增加字段skip-grant,如图所示:
修改完成后,重启MySQL服务:/etc/init.d/mysql restart
使用命令登入MySQL(修改的配置段,是完成忽略授权的操作,可以直接登入,无需输入用户名密码),切换到MySQL库,对user表进行更新操作,如图所示:
查看密码
mysql>select password from user where user=’root’;
修改完成后,确认新密码登录有效。把/etc/my.cnf改回原有状态,并重启MySQL服务。
任务2 连接MySQL
以下操作根据修改后的root密码访问。
-
mysql -uroot -p123456
-
mysql -uroot -p123456 -h127.0.0.1 -P3306.
-
mysql -uroot -p123456 -S/tmp/mysql.sock (-S參数是用来指定unix_socket)
-
mysql -uroot -p123456 -e “show databases”
任务3 MySQL常用命令
-
查询库 show databases;
如下图所示: -
切换库 use mysql;
如下图所示: -
查看库里的表 show tables;
如下图所示: -
查看表里的字段 desc tb_name;
如下图所示: -
查看建表语句 show create table tb_name\G;
如下图所示: -
查看当前用户 select user();
如下图所示: -
查看当前使用的数据库 select database();
如下图所示: -
创建库 create database db1;
如下图所示: -
创建表 use db1; create table t1(
id
int(4),name
char(40));
如下图所示: -
查看当前数据库版本 select version();
如下图所示: -
查看数据库状态 show status;
如下图所示: -
查看各参数 show variables; show variables like ‘max_connect%’;
如下图所示: -
修改参数 set global max_connect_errors=1000;
如下图所示: -
查看队列 show processlist; show full processlist;
如下图所示:
任务4 MySQL创建用户以及授权
-
进行授权
grant all on . to ‘user1’ identified by ‘passwd’;
grant SELECT,UPDATE,INSERT on db1.* to ‘user2’@‘192.168.133.1’ identified by ‘passwd’;
grant all on db1.* to ‘user3’@’%’ identified by ‘passwd’; -
查看授权表
show grants;
show grants for user2@192.168.133.1;
任务5 MySQL常用SQL语句
-
查看表内行数select count(*) from mysql.user;
如下图所示: -
查看db表内的内容 select * from mysql.db;
如下图所示: -
查看db表内含有db字段的内容 select db from mysql.db;
如下图所示: -
搜索查看多个字段 select db,user from mysql.db;
如下图所示:
注释:搜索多个字段时,字段中间要用“,”隔开
5. 查询host为%的内容 select * from mysql.db where host like ‘%’;
%代表所有主机。
如下图所示:
-
向t1中插入内容 insert into t1 values (1, ‘abc’);
如下图所示: -
把id=1的字段内容更新成aaa update db1.t1 set name=‘aaa’ where id=1;
如下图所示: -
清空db1.t1表内的内容 truncate table db1.t1;
如下图所示:
注释:清空后表的结构依然存在
9. 删除db1.t1表内的内容 drop table db1.t1;
如下图所示:
注释:清空后连同表的结构一同删除
10. 清空db1.t1数据库 drop database db1;
如下图所示:
任务6 MySQL数据库的备份与恢复
-
备份库
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql -
恢复库
mysql -uroot -plinux mysql < /tmp/mysql.sql -
备份表
mysqldump -uroot -plinux mysql user > /tmp/user.sql -
恢复表
mysql -uroot -plinux mysql < /tmp/user.sql
备份库、表与恢复库、表如图所示: -
备份所有库
mysqldump -uroot -p -A > /tmp/123.sql -
只备份表结构
mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
备份所有库与备份表结构如图所示: