MYSQL
运维人员对mysql的操作比较简单,工作主要是有DBA去完成的。
着重学习的有:nginx、mysql、tomcat。
1、mysql的root密码设置更改。
PATH:一系列命令所在的路径。
在mysql5.6版本中,安装完成后的mysql是没有密码的。需要自行设置。
而在mysql5.7中,安装完成后系统会自动生成一个随机root密码,也是需要我们去修改的。
mysql的root密码忘记,可以通过在my.cnf中添加skip-grant语句来跳过密码直接登陆,再去修改root密码。
登陆mysql--------use mysql;------------updata user set password=password('*******') where user='root';-----------退出mysql------去掉skip-grant。
2、mysql连接。
mysql -uroot -p‘password’ 默认使用的是sock。但是有一种情况是,提示sock路径不对,提示:/var/lib/mysql/mysql.sock不存在。
解决:做软链接。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
如果/var/lib目录不存在,手动去创建。
3、mysql常用命令
show variables;
show processlist; show full processlist; 排查网站变慢时经常用到。
在运维工作中常会遇到网站变慢的情况,这时我们就要去排查:先是查看负载(w),在(top)定位到mysql执行的慢。这时就会用到show processlist; 查看mysql在做什么,来进一步排产问题。
4、mysql的用户管理。
root用户授权创建的普通用户是不能使用grant命令的,如果要授权普通用户能使用grant,需要在创建语句的最后添加 with grant option。
grant all on *.* to 'user'@'localhost' identified by 'password' with grant option;
mysql> grant all on *.* to 'user_root'@'localhost' identified by '123456' with grant option;
Query OK, 0 rows affected (0.34 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.16 sec)
mysql>
5、常用的sql语句。
delete from db1.t1 where id = 1;
6、mysql数据库的备份恢复。
常用的mysqldump。
mysqldump -uroot -p123456 mysql >/tmp/mysqlbak.sql 对mysql库进行备份。
mysql -uroot -p123456 mysql2 < /tmp/mysqlbak.sql 恢复。
当我们的数据非常大时候就不能用mysqldump了。
这时就可以用xtrabackup和innobackupex。
myisam 和innodb引擎对比 http://www.pureweber.com/article/myisam-vs-innodb/
mysql调优: http://www.aminglinux.com/bbs/thread-5758-1-1.html
要能用自己的语言去说出来。
根据binlog恢复指定时间段的数据 https://blog.csdn.net/lilongsy/article/details/74726002
mysqldump --master-data=2 --single-transaction https://blog.csdn.net/linuxheik/article/details/71480882