保障4-0521任务打卡

    xiaoxiao2022-07-03  172

    任务: 13.1 设置更改root密码 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工具备份mysql数据/#三、开始恢复mysql 相关视频 链接:http://pan.baidu.com/s/1miFpS9M 密码:86dx 链接:http://pan.baidu.com/s/1o7GXBBW 密码:ue2f

    13.1 设置更改root密码

    1,更改环境变量让mysql启动更方便

    安装完mysql的正常启动: /usr/local/mysql/bin/mysql -uroot 把/usr/local/mysql/bin/添加到环境变量里 export PATH=$PATH:/usr/local/mysql/bin/ 使新添加的环境变量永久生效 vim /etc/profile 将以下内容添加至文件中 export PATH=$PATH:/usr/local/mysql/bin/ 这样每次开机都会执行这条命令单纯修改文件并不会马上生效,需要执行source /etc/profile

    2,为空密码的root用户添加密码

    mysqladmin -uroot password '123456' 对于已经有密码的root用户无效

    3,为已知密码的root用户修改密码

    mysqladmin -uroot -p旧密码 password '新密码'

    4,为不知道密码的root用户修改密码

    4.1编辑mysql配置文件
    vim /etc/my.cnf
    4.2 在[mysqld]下边加一行
    skip-grant-tables(5.7需要-tables老师讲的版本不需要)
    4.3 重启服务
    /etc/init.d/mysqld restart
    4.4 不输入密码直接登录mysql
    因为设置了跳过授权,所以可以直接登录
    4.5 在mysql>提示符下依次执行
    mysql>use mysql mysql> update mysql.user set authentication_string=password('密码') where userr='用户名'; 5.7以下的修改密码命令为update user set password=password(‘aminglinux’) where user=‘root’
    4.6 退出mysql然后编辑/etc/my.cnf文件,把跳过授权那一行删除。
    4.7 重启服务

    13.2 连接mysql

    1,连接本机

    mysl -u用户名 -p密码

    2,连接远程

    mysql -u用户名 -p密码 -h域名或IP地址 -P端口号

    3,通过sock文件连接

    mysql -u用户名 -p密码 -S文件名(sock文件) 默认以这种方式登录,也就是说-S选项可以省略这种方式只适合在本机

    4,通过命令行直接操作mysql(不需要进入mysql)

    mysql -u用户名 -p密码 -e "show databases" 一般用于shell脚本中

    13.3 mysql常用命令

    1,查询库

    show databases; 注意mysql的命令需要以分号;结尾注意提示符变为mysql>说明进入mysql了。命令用法和外面不同。

    2, 切换库 use mysql;

    mysql是由一个个库构成的。其中,库又包含了表。表又包含了字段

    3,查看库里的表 show tables;

    4,查看表里的字段 desc tb_name(表的名称);

    5,查看建表语句 show create table tb_name(表名称)\G;

    \G的作用是改变显示的排序

    6,查看当前用户 select user();

    如果登录用户是以127.0.0.1的IP登录的话,那么这里会显示为 +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) 如果登录用户是以其他IP形式登录的话,那么这里会跟据IP来反解析出主机名。 +-----------+ | user() | +-----------+ | root@lnmp | +-----------+ 1 row in set (0.00 sec)

    7,查看当前使用的数据库 select database();

    8,创建库 create database db1(库名);

    9,创建表 create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB CHARSET=utf8;

    ti是表的名称id是第一个字段,name是第二个字段int(4)是这个字段的格式。int表示数字括号里的是这个字段的最大长度。char表示字符ENGINE指定表所用的引擎CHARSET=utf8指定表的字符集

    10,删除表 drop table t1;

    11,查看当前数据库版本 select version();

    12,查看数据库状态 show status;

    13,查看各参数 show variables;

    14,模糊查询参数 show variables like ‘max_connect%’;

    百分号%在这里是通配符。

    15, 修改参数 set global max_connect_errors=1000;

    这里修改只是临时修改。如果想永久修改,请修改/etc/my.cnf文件内的参数。

    16,查看队列 show processlist; show full processlist;

    加不加full的区别在于最后一行是否完整。

    13.4 mysql用户管理

    1,创建用户

    grant all on *.* to '用户名'@IP identified by '密码'; 把所有的权限给user1*.*表示所有的库和表。前边的星表示库,后边的星表示表。@IP可以省略,默认是全部IP都可以访问。这里如果指定了,那么只有指定IP可以访问。IP为’%'时表示所有的IP都可以使用。grant命令不会记录到命令历史

    2,跟据具体的情况授权

    grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; 给user2授予了SELECT,UPDATE,INSERT的权限并且user2可以操作db1库下的所有表。

    3,查看当前用户的所有权限。

    show grants;

    4,查看指定用户的授权情况

    show grants for user2@192.168.133.1; 当需要为授权的用户增加IP时需要通过这个命令来查询授权内容。

    13.5 常用sql语句

    1,查询一个表的行数

    select count(*) from mysql.user; 库和表中间有一个点MyISAM引擎下会非常快。InnoDB下会非常慢。

    2,查看一个表的所有内容

    select * from mysql.db; 尽量不要使用这种方式查询。因为数据库非常大时。这样查会占用很多资源。

    3,查询一个字段

    select db from mysql.db; 也可以查询多个字段。字段间使用逗号隔开

    4,模糊查询

    select * from mysql.db where host like '192.168.%'; 在mysql.db里查询host字段含有192.168.开头的内容。

    5,为表添加记录。

    insert into xy1.t1 values (1, 'abc'); 插入前要先搞清楚,这个表有几个字段是自己需要的。字段之间使用逗号隔开字符型的字段要加单引号和数字进行区分

    6,修改记录

    update db1.t1 set name='aaa' where id=1;

    7,删除记录

    delete from xy1.t1 where id=1;

    8,清空一个表

    truncate table db1.t1;

    清空的是记录,字段依然存在

    9,删除一个表

    drop table db1.t1;

    10,删除一个库

    drop database xy1;

    如果,对于一个没有备份过的表或库使用drop命令。那就等着被开除吧!

    13.6 mysql数据库备份恢复

    1,备份库

    mysqldump -uroot -p79823871 mysql > /tmp/mysqlbak.sql 不加> /tmp/mysql.sql的话,就会把备份过程显示出来

    2,恢复库

    mysql -uroot -p123456 mysql < /tmp/mysql.sql

    3,备份表

    mysqldump -uroot -p123456 mysql user > /tmp/user.sql 这里库和表用空格分开

    4,恢复表

    mysql -uroot -p123456 mysql < /tmp/user.sql 恢复表的时候只要填写表所在的库名即可。

    5,备份所有库

    mysqldump -uroot -p -A >/tmp/mysql_all.sql

    6,只备份表结构

    mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql 只有表头字段,没有内容。

    直播笔记

    扩展内容 https://blog.csdn.net/xiaoyi23000/article/details/80521423 https://blog.csdn.net/u013399093/article/details/70568837 https://www.cnblogs.com/abobo/p/4242417.html http://isky000.com/database/mysql-perfornamce-tuning-cache-parameter

    最新回复(0)