centos  LAMP第四部分mysql操作  忘记root密码  skip-innodb 配置慢查询日志 mysql常用操作  mysql常用操作 mysql备份与恢复   第二十二节课

mysql用的哪个my.cnf,如果都有就用后面的

查找顺序 /etc/mycnf ---> /etc/mysql/mycnf ---> $BASEDIR/my.cnf --->$DATADDIR/my.cnf ----> ~/ .my.cnf

1. 忘记root密码
编辑mysql主配置文件 my.cnf 在[mysqld]字段下添加参数 skip-grant

重启数据库服务,这样就可以进入数据库不用授权了  service mysqld restart

修改相应用户密码  mysql -uroot

use mysql;

update user set password=password('your password') where user='root';

flush privileges;

最后修改/etc/my.cnf 去掉 skip-grant , 重启mysql服务

2. skip-innodb   我们可以增加这个参数不使用innodb引擎。

3. 配置慢查询日志
#log_slow_queries = /path/to/slow_queries
#long_query_time = 1

4. mysql常用操作
查看都有哪些库 show databases;
查看某个库的表 use db; show tables;
查看表的字段 desc tb;
查看建表语句 show create table tb;
当前是哪个用户 select user();
当前库 select database();
创建库 create database db1;
创建表 create table t1 (`id` int(4), `name` char(40));
查看数据库版本 select version();
查看mysql状态 show status;
修改mysql参数 show variables like 'max_connect%'; set global max_connect_errors = 1000;
查看mysql队列 show processlist; show full processlist
创建普通用户并授权 grant all on *.* to user1 identified by '123456';
grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';
grant all on db1.* to 'user3'@'%' identified by '231222';insert into tb1 (id,name) values(1,'aming');
更改密码,也可以用grant 修改密码 UPDATE mysql.user SET password=PASSWORD("newpwd") WHERE user='username' ;
查询 select count(*) from mysql.user; select * from mysql.db; select * from mysql.db where host like '10.0.%';
插入 update db1.t1 set name='aaa' where id=1;
清空表 truncate table db1.t1;
删除表 drop table db1.t1;
删除数据库 drop database db1;
修复表 repair table tb1 [use frm];

5. mysql备份与恢复
备份 mysqldump -uroot -p123456 db1 >1.sql
恢复 mysql -uroot -p123456 db1 <1.sql
只备份一个表 mysqldump -uroot -p123456 db1 tb1 > 2.sql
只备份表结构 mysqldump -uroot -p123456 -d db1 tb1 > 2.sql
只恢复一个表 跟恢复整个库一样 mysql -uroot -p123456 db1 <1.sql
备份时指定字符集 mysqldump -uroot -p123456 --default-character-set=utf8 db >1.sql
恢复也指定字符集 mysql -uroot -p123456 --default-character-set=utf8 db < 1.sql


mysql

-e 参数直接在shell里面执行sql语句

mysql -uroot -p123456  -e"use mysql;select * from user where user='root'\G;"

没有指定端口和ip的连接方式就是使用socket连接方式

mysql -uroot -p123456

查看socket文件位置

ps aux|grep mysql

指定socket文件位置三种方式
1、mysql -uroot -p123456 -S /var/lib/mysql/mysql.sock
2、my.cnf
3、编译的时候

使用TCP/IP登录mysql

mysql -uroot -p123456  -h127.0.0.  -p3306

mysql命令行不支持tab键补全!!

mysql命令历史文件
位置:在root用户根目录有一个.mysql_history文件,退出mysql命令行才会记录命令历史

不记录mysql命令历史

cat /root/.mysql_history >/dev/null

为防止乱码,在创建表的时候要指定字符集或者在my.cnf里指定默认字符集,例如utf8

vi /etc/my.cnf //添加下面内容

[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8

赋予权限并建立用户
grant 所有权限 ALL ON 库名.表名 to 'user1'@'127.0.0.1' identified by '123456';

*.*所有的库和所有的表
只用%的话可以表示任意IP

grant all on *.* to user1 identified by '';

更改全局变量,重启mysql失效

set global table_open_cache=;

备份数据库的时候指定字符集,防止乱码,安装zabbix的时候特别需要设置
--default-character-set=utf8
还原的时候也可以加上
--default-character-set=utf8

备份
锁表不让写

lock tables `pre_forum_post` write;

插入数据

insert into xx;

解锁

unlock tables;

表可以重新进数据

mysql命令行里面不区分大小写

f

centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课的更多相关文章

  1. MySQL数据库忘记root密码解决办法

    MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图:

  2. [原创]MySQL数据库忘记root密码解决办法

    MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图:

  3. [异常篇]001.MySQL数据库忘记root密码解决办法[转载]

    MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图: 2.在运行输入cmd打开终端. 3.找到MYSQL的安装目录 ...

  4. mysql数据库忘记root密码怎么办?

    mysql数据库忘记root密码怎么破解和修改 1.停止数据库的运行 [root@localhost ~]# /etc/init.d/mysqld stop 或者[root@localhost ~]# ...

  5. mysql 8+ 忘记root密码 解决方案

    在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL的root密码.当然,最简单方式自然是删除数据库的data目 ...

  6. mysql:忘记root密码

    1:修改/etc/my.cnf 2:重启服务 3:进入mysql 4:修改密码 5:刷新权限 注意:修改完成后,别忘了修改/etc/my.cnf,删除skip-grant-tables,否则重启服务后 ...

  7. linux下mysql的忘记root密码的解决办法

    因为放寒假家里没有宽带,便很少上网,前几天用手机进入自己的个人博客时竟然返回数据库不能连接的错误,吓我一跳,网站肯定被人黑了,但转头一想我的博客就几篇破文章,谁这么无聊要黑,我并没有立刻去网上找解决的 ...

  8. Linux mysql 数据库忘记root密码

    1.修改MySQL的登录设置: # vi /etc/my.cnf 1在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mysqld # /etc/i ...

  9. linux mysql下忘记root密码解决办法

    1 修改MySQL的登录设置 # vi /etc/my.cnf 在[mysqld]的中加上一句:skip-grant-tables  2 重新启动mysqld # /etc/init.d/mysqld ...

随机推荐

  1. vc 找到一个或多个多重定义的符号

    vc 找到一个或多个多重定义的符号, 这个问题还是不能很好的解决. 最根本的是: 把所有有关定义的部分都放在.cpp文件中,对应的.h文件中只放声明.这样在#include ""的 ...

  2. Unity 大版本更新之APK的下载与覆盖安装

    作为一个游戏开发者,更新这个技能是必不可少的!更新分为游戏内的更新,也就是所谓的资源热更包括AssetBundle更新和代码更新,代码其实也是所谓的二进制文件,在安卓上和普通资源文件毫无差异,然而在I ...

  3. 对ChemDraw Prime 16.0你了解多少

    ChemDraw Prime 16.0应用是化学智能绘图程序的行业领导者.除了创建符合出版标准的绘图,化学家们可以使用ChemDraw Prime软件预测性能,搜索数据库等来节省时间,提高数据的准确性 ...

  4. Spring装配Bean的过程

    首先说一个概念:“懒加载” 懒加载:就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中. spring配置文件中be ...

  5. STM32总线结构和存储器

    也就说我们所操作的就是别名区的位

  6. select下拉框不能赋值

    前言: 需要用到类似于下面的下拉选择框,按照官方文档写,始终实现不了下拉框赋上值的情况. 过程: 认认真真的看了好几遍文档,但是还没找到原因,不过还是应该感谢自己加入的vue-admin的微信群,大家 ...

  7. C++11新特性之五——可变参数模板

    有些时候,我们定义一个函数,可能这个函数需要支持可变长参数,也就是说调用者可以传入任意个数的参数.比如C函数printf(). 我们可以这么调用. printf(); 那么这个函数是怎么实现的呢?其实 ...

  8. jQuery stop()的用法

    1.stop([stopAll], [gotoEnd])方法有两个参数(当然可以不传或直传一个),其中stopAll的意思是清除之后的所有动画.gotoEnd的意思是,执行完当前动画. 2.stopA ...

  9. 为元素绑定监听键盘上的enter键被按下事件的方法

    $("someElement").on("keydown", function(event){ var key = event.which; if(key == ...

  10. Android 判断当前是否在跑monkey测试

    /**     * Returns true if Monkey is running.     */    public static boolean isMonkeyRunning() {     ...