忘记mysql root密码 作者: rontian 时间: 2018-10-01 分类: MYSQL 评论 ### 1. vi /etc/my.cnf ### 2.在[mysqld]中添加 `skip-grant-tables` 例如: ``` [mysqld] skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock ``` ### 3.重启mysql `systemctl restart mysqld.service` ### 4.用户无密码登录 `mysql -uroot -p (直接点击回车,密码为空)` ### 5.选择数据库 `use mysql;` ### 6.修改root密码 ``` update user set authentication_string=password('123456') where user='root'; ``` ### 7.执行 `flush privileges;` ### 8.退出 `exit;` ### 9.删除 `skip-grant-tables` ### 10.重启mysql `systemctl restart mysqld.service`
git add未commit reset恢复文件 作者: rontian 时间: 2018-10-01 分类: Git 评论 ### git fsck > files.txt 获取到所有悬挂的文件,将悬挂的文件名称存入files.txt中,文件内容如下 ``` dangling blob d6bf40c9f290161c87230787a1056d977d36c821 dangling blob d61f00d8cad3920809f4d992ac3031b3f32e7f10 dangling blob d7af99b5e2ae9a21d534f1965c35a2b572143322 dangling blob d96f555491868caffb665c2dd391108abfcac581 dangling blob da2f86e1710b8539b8047e4452f1ff6cb0e1f211 dangling blob e0dfd04e4d3fcbaa6588c8cbb9e9065609bcb862 dangling blob e06f361eb6d429290806b9f9cd7a0aebce22be4d dangling blob e2bfcf6c21b1b9116459e2213b0bd9b5f52b4b67 dangling blob e23f0b42283d43c029f747596ed573859c917876 dangling blob e3dfe04304e451a9a75a46fd0d052279f601f09d dangling blob f50fc6c14e67a228c4ba9a61b1357c16410e8228 dangling blob f55f1b358726d8f23b1a2e57bee6863387bd7ad4 dangling blob fe4f6f5494085ec15a05838bdf793f3ef0532f5f ``` 删除掉"dangling blob",使其变成 ``` d6bf40c9f290161c87230787a1056d977d36c821 d61f00d8cad3920809f4d992ac3031b3f32e7f10 d7af99b5e2ae9a21d534f1965c35a2b572143322 d96f555491868caffb665c2dd391108abfcac581 da2f86e1710b8539b8047e4452f1ff6cb0e1f211 e0dfd04e4d3fcbaa6588c8cbb9e9065609bcb862 e06f361eb6d429290806b9f9cd7a0aebce22be4d e2bfcf6c21b1b9116459e2213b0bd9b5f52b4b67 e23f0b42283d43c029f747596ed573859c917876 e3dfe04304e451a9a75a46fd0d052279f601f09d f50fc6c14e67a228c4ba9a61b1357c16410e8228 f55f1b358726d8f23b1a2e57bee6863387bd7ad4 fe4f6f5494085ec15a05838bdf793f3ef0532f5f ``` ### 将blob字节文件还原为原文 ```bash #!/bin/bash for line in `cat files.txt` do echo "File:${line}" git show ${line} > files/${line}.txt done ```
CentOS下mysql数据库常用命令总结 作者: rontian 时间: 2018-10-01 分类: Linux 评论 ### 1.更改root密码 `mysqladmin -uroot password 'yourpassword'` ### 2.远程登陆mysql服务器 `mysql -uroot -p -h192.168.137.10 -P3306` ### 3.查询数据库 `show databases;` ### 4.进入某个数据库 `use databasename;` ### 5.列出数据库中的表 `show tables;` ### 6.查看某个表全部字段 `desc slow_log;` `show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)` ### 7.查看当前用户 `select user();` ### 8.查看当前所在数据库 `select database();` ### 9.创建新数据库(可以指定字符集) `create database db1 charset utf8;` ### 10.创建新表 `create table t1 (`id` int(4), `name` char(40));` ### 11.查看数据库版本 `select version();` ### 12.查看数据库状态 ``` show status; 当前会话状态 show global status; 全局数据库状态 show slave status\G; 查看主从数据库状态信息 ``` ### 13.查询数据库参数 `show variables;` ### 14.修改数据库参数 ``` show variables like 'max_connect%'; set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改) ``` ### 15.查看当前数据库队列 `show processlist;` ### 16.创建普通用户并授权给某个数据库 `grant all on databasename.* to 'user1'@'localhost' identified by '123456';` ### 17.查询表数据 ``` select * from mysql.db; //查询该表中的所有字段 select count(*) from mysql.user; //count(*)表示表中有多少行 select db,user from mysql.db; //查询表中的多个字段 select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%” ``` ### 18.插入一行数据 `insert into db1.t1 values (1, 'abc');` ### 19.更改表的某一行数据 `update db1.t1 set name='aaa' where id=1;` ### 20.清空表数据 `truncate table db1.t1;` ### 21.删除表 `drop table db1.t1;` ### 22.清空数据库中的所有表(数据库名是eab12) ``` mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12 ``` ### 23.删除数据库 `drop database db1;` ### 24.数据库备份 `mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql` ### 25.数据库恢复 `mysql -uroot -p'yourpassword' mysql