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

    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.1  -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 '123456';

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

    set global table_open_cache=128;

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


    备份
    锁表不让写

    lock tables `pre_forum_post` write;

    插入数据

    insert into xx;

    解锁

    unlock tables;


    表可以重新进数据

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

    f

  • 相关阅读:
    less引入、关键字、条件表达式、循环、合并属性
    less 嵌套规则、运算、函数、命名空间
    初识less
    ligerui_实际项目_001:利用ligerLayout、ligerAccordion实现可折叠的菜单效果
    ligerUI_入门_001_设置文本能否被编辑、事件
    AJax 学习笔记二(onreadystatechange的作用)
    JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合
    JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
    JSon_零基础_006_将JSon格式的字符串转换为Java对象
    JSon_零基础_005_将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/4919072.html
Copyright © 2011-2022 走看看