首页 > 代码库 > 【CentOS】LAMP相关4
【CentOS】LAMP相关4
MySQL
不支持TAB补全
.mysql_history命令历史
用SOCKET形式登陆:mysql -uroot -p123456,mysql -uroot -p123456 -S /var/lib/mysq/mysq.sock指定socket文件连接
用TCP/IP形式登陆: mysql -uroot -p123456 -h127.0.0.1 -P3306(指定主机和端口号)
1.忘记root密码
编辑主配置文件my.cnf在[mysqld]字段下添加参数skip-grant,重启数据库服务,这样就可以进入数据库不用授权了mysqld -uroot
修改相应用户密码use mysql; (更新user表)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
MyISAM和INNODB的对比,面试的时候可能会被问到的概率高达90%
4.MySQL常用操作
查看都有哪些库 show databases;
查看某个库的表 use db;show table;
查看表的字段 desc tb;
查看建表语句 show create table tb; show create table tb\G格式化;
当前是哪个用户 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%‘;
修改MySQL参数 set global max_connect_errors=1000;(重启后还会更改,除非在my.cnf里面修改)
查看MySQL队列 show processlist;/show full processlist(相当于Linux里面的ps)
创建普通用户并授权 grant all on *.* (什么库什么表的意思)to user1 identified by ‘123456‘
grant all on db1.* to ‘user2‘@‘10.0.2.100‘(来源IP) identified by ‘111222‘;
grant all on db1.* to ‘user3‘@‘%‘ identified by ‘23122‘; insert into tb1(id,name) values(1,‘aming‘);
更改密码 UPDATE mysql.user SET password=PASSWIRD("newpasswd") WHERE user=‘username‘;
查询 select count(*) from mysql.user; select * from mysql.db;select * from mysql.db host like ‘10.0.%‘;
插入 update db1.t1 set name=‘aaa‘ where id=1;
清空表 truncate table tab1
删除表 drop table db1,t1
删除数据库 drop database db1;
修补表 repair table tb1 [use frm];use_frm 就是使用frm文件修复
5.MySQL备份与修复
备份 mysqldump -uroot -p db > 1.sql
只把创建表的语句备份出来 mysqldump -uroot -p -d db >/tmp/post.sql
修复 mysql -uroot -p db <1.sq;
只备份一个表 mysqldump -uroot -p db tb1 >2.sql
备份时指定字符集 mysqldump -uroot -p --default-character-set=utf8 db >1.sql
修复也指定字符集 mysql -uroot -p --default-character-set=utf8 db <1.sql
拓展知识
【CentOS】LAMP相关4