[13] Mysql常用操作
13.1 设置更改root密码
- 更改环境变量,增加mysql绝对路径
[root@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin/
[root@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
- 添加mysql密码
[root@localhost ~]# mysqladmin -uroot password '000000'
[root@localhost ~]# mysql -uroot -p000000
- 修改和重置密码
修改密码:
[root@localhost ~]# mysqladmin -uroot -p000000 password '000000'
[root@localhost ~]# mysqladmin -uroot -p000000 password '111111'
[root@localhost ~]# mysql -uroot -p111111
---------------------------------------------
重置密码
1. 编辑my.cnf配置文件
[root@localhost ~]# vim /etc/my.cnf
[mysqld]下添加 skip-grant
[root@localhost ~]# /etc/init.d/mysqld restart
2. 利用mysql库中的user表修改密码
[root@localhost ~]# mysql -uroot
use mysql;
select * from user;
update user set password=password('重置后的密码') where user='root';
3. 取消skip-grant
13.2 连接Mysql
- mysql的几种连接方式
1. 直接输入用户名和密码。适用于本机用户连接本机mysql
mysql -uroot -p123456
2. 通过ip和端口连接mysql,适用于本机用户连接本机mysql或者本机用户连接远端mysql
mysql -uroot -p123456 -h127.0.0.1 -P3306
3. 通过sock套接字文件连接mysql,适用于本机用户连接本机mysql
mysql -uroot -p123456 -S/tmp/mysql.sock
4. 连接mysql的同时执行mysql语句
mysql -uroot -p123456 -e “show databases”
13.3 Mysql常用命令
- mysql常用命令
查询库 show databases;
切换库 use mysql;
查看库里的表 show tables;
查看表里的字段 desc tb_name;
查看建表语句 show create table tb_name\G;
\G是将信息竖列显示
查看当前用户 select user();
查看当前使用的数据库 select databsase();
创建库 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;
查看队列,查看mysql正在执行的操作
show processlist;
show full processlist;
13.4 Mysql用户管理
- 创建用户
1. MySQL > grant all on *.* to 'user1'@'127.0.0.1' identified by '000000';
2. MySQL > grant SELECT,UPDATE,INSERT on db1.* to'user2'@'192.168.1.11' identified by '000000';
3. MySQL > grant all on db1.* to 'user3'@'%' identified by '000000';
grant all 代表所有的权限
*.* 第一个*代表库名。后面.*代表库中的表名
% 通配所有的IP
[root@localhost ~]# mysql -uuser1 -p000000
ERROR 1045 (28000): Access denied for user 'user1'@'localhost' (using password: YES)
[root@localhost ~]# mysql -uuser1 -p000000 -h127.0.0.1
因为默认使用sock通信,所以使用-h指定主机
- 查看用户的授权信息
1. 查看当前用户的授权信息
MySQL > show grants;
2. 查看指定用户的授权信息。root用户可用
MySQL > show grants for user2@192.168.1.11;
13.5 常用sql语句
1. 统计mysql库user表中的行数
select count(*) from mysql.user;
2. 查询mysql库db表中的所有内容
select * from mysql.db;
3. 查询mysql库db表中的db字段内容
select db from mysql.db;
4. 查询mysql库db表中的db和user字段内容
select db,user from mysql.db;
5. 来自ip模糊查询mysql库中的db表的所有的内容
select * from mysql.db where host like '192.168.%';
6. db1库t1表中插入数据
insert into db1.t1 values (1, 'abc');
7. db1库t1表中更新数据
update db1.t1 set name='aaa' where id=1;
8. 删除表中某条数据
delete from db1.t1 where id=2;
9. 清空表中的所有内容,表结构保留
truncate table db1.t1;
10. 删除库表,表结构同时删除
drop table db1.t1;
drop database db1;
13.6 Mysql数据库备份和恢复
- 备份恢复语句
1. 备份库 mysqldump -uroot -p000000 库名 > /tmp/mysql.sql
2. 恢复库 mysql -uroot -p000000 mysql < /tmp/mysql.sql
3. 备份表 mysqldump -uroot -p000000 mysql user > /tmp/user.sql
4. 恢复表 mysql -uroot -p000000 mysql < /tmp/user.sql
5. 备份所有库 mysqldump -uroot -p000000 -A >/tmp/123.sql
6. 只备份表结构 mysqldump -uroot -p000000 -d mysql > /tmp/mysql.sql