13.1 设置更改root密码(这个是mysql5.6的方法)
mysql5.7版本或者mariadb10.3用这种方法:
https://blog.51cto.com/13293070/2400944?source=dra
13.2 连接mysql
13.3 mysql常用命令
13.4 mysql用户管理
13.5 常用sql语句
13.6 mysql数据库备份恢复
使用xtrabackup备份innodb引擎的数据库 innobackupex 备份 Xtrabackup 增量备份 http://zhangguangzhi.top/2017/08/23/innobackex%E5%B7%A5%E5%85%B7%E5%A4%87%E4%BB%BDmysql%E6%95%B0%E6%8D%AE/#%E4%B8%89%E3%80%81%E5%BC%80%E5%A7%8B%E6%81%A2%E5%A4%8Dmysql
一、设置更改root密码(这个是mysql5.6的方法)
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-grant2.mysql -uroot ---进入到库3.use mysql ----切换到库4.update user set password=password('abcd') where user='root'; --更改密码5.编辑/etc/my.cnf,取消skip-grant6./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