• 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

  • 相关阅读:
    CF1474C Array Destruction 题解 贪心
    洛谷P1854 花店橱窗布置 题解 2D/0D型动态规划
    POJ1704 Georgia and Bob 题解 阶梯博弈
    HDU1848 Fibonacci again and again 题解 SG函数
    SG函数简要学习笔记
    洛谷P2868 [USACO07DEC]Sightseeing Cows G 题解 01分数规划+SPFA判负环
    洛谷P4322 [JSOI2016]最佳团体 题解 01分数规划+树上背包
    从零开发SIP客户端(Windows)踩坑实录
    richedit禁用输入法的实现
    VS2013无法加载解决方案中的项目(转)
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/4919072.html
Copyright © 2020-2023  润新知