标签:mysql mysqldump xtrabackup show use select
1. 如何更改系统环境变量PATH?
答:如果是永久更改系统环境变量,对所有用户生效,有两种办法:推荐使用第三种。
(1)vim /etc/profile 加入 PATH=$PATH:/usr/local/mysql/bin/
(2)vim /etc/bashrc 加入 PATH=$PATH:/usr/local/mysql/bin/
(3)vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/ usr/local/mysql/bin/
source /etc/profile.d/path.sh
如果是永久更改系统环境变量,对当前用户生效,有两种办法:
(1)vim ~/.bash_profile 加入 PATH=$PATH:/usr/local/mysql/bin/
(2)vim ~/.bahsrc 加入 PATH=$PATH:/usr/local/mysql/bin/
如果只是临时更改当前Shell的环境变量,可以直接使用命令:
export PATH=$PATH:/ usr/local/mysql/bin/
2. 默认mysql安装好后,并没有root密码,如何给root设置一个密码?
答:mysqladmin -uroot password ‘123456‘
3. 如何更改root密码?
答:(1)mysqladmin -uroot -p123456 password ‘654321‘
(2)如果是忘记root密码,可参考19题重置。
4. 如何连接远程的mysql服务器?
答: mysql -urachy -p123456 -h127.0.0.1 -P3306
5. 如何查看当前登陆mysql的账户?
答:select user();
6. 在mysql命令行下,怎么切换某个库?
答:use discuz;
7. 如何查看一个表都有哪些字段?
答:desc pre_common_style ;
8. 如何查看某个表使用的是哪种数据库引擎?
答: show create table pre_ucenter_vars\G;
9. 如何查看当前数据库有哪些队列?
答: show processlist;
10. 当有很多队列时,如何查看有哪些慢查询?
答:设置慢查询日志,具体方法如下:
vim /etc/my.cnf
……
log_slow_queries = logname
long_query_time = 1 //查询时间超过1s会记录日志
……
11. 如何查看当前mysql的参数值?
答:show variables;
12. 如何不重启mysql服务,更改某个参数?
答:set global var = value;
如:set global wait_timeout = 10;
13. 用什么工具备份数据库?请区分myisam引擎和innodb引擎两种存储引擎的备份。
答:myisam引擎的数据使用 mysqldump 备份数据库;
innodb引擎的数据使用 xtrabackup 备份数据库;
14. 简单描述myisam和innodb引擎的区别。
答:myisam引擎将数据直接存在系统的文件中,对整个表锁定,不支持事务;innodb引擎的数据库会事先创建一个数据表空间文件,然后再从这个表空间文件中存数据,对行锁定,支持事务、外部键,b不支持fulltext类型索引,也不保存表的行数。
15. 如果你的mysql服务启动不了,而当前终端又没有报错,你如何做?
答:查看datadir目录下的错误日志文件hostname.err,找出故障原因并解决。
16. 要备份的库字符集是gbk的字符集,为了避免出现乱码的情况,如何在备份和还原的时候指定字符集为gbk?
答:指定gbk备份:mysqldump --default-character-set=gbk
指定gbk恢复:mysql --default-character-set=gbk
17. 错误日志中,如果出现提示说某个表损坏需要修复,你如何修复这个表呢?
答:repair table tablename;
18. 备份myisam引擎的数据库时,我们除了使用mysqldump工具备份外,还可以直接拷贝数据库的源数据(.frm, .MYD, .MYI三种格式的数据),其中哪一个文件可以不拷贝?若想恢复该文件,如何做?
答:.MYI文件可以不拷贝,恢复时需要修复表,但加上 use_frm, 如repair table tb1 use_frm;
19. 如果mysql的root密码忘记了如何做?
答:(1)vim /etc/my.cnf,在[mysqld]字段下添加参数 skip-grant
(2)service mysqld restart
(3)mysql -uroot
(4)use mysql; #切换数据库
update user set password=password(‘your password‘) where user=‘root‘; #重置密码
flush privileges; #立即生效
(5)vim /etc/my.cnf 删除刚才添加的 skip-grant ;
service mysqld restart
20. 如何更改mysql的普通账户密码?
答:update user set password=password(‘123456‘) where user=‘rachy‘;
21. mysql的命令历史文件在哪里,为了安全我们其实是可以做一个小处理,不让mysql的命令历史记录在文档中,请想一想如何利用之前我们学过的知识做到?
答:mysql的命令历史文件在当前用户家目录下的 .mysql_history 文件里;
cd ~;
rm -f .mysql_history; #删除历史文件
ln -s /dev/null .mysql_history #将历史文件软链接到null
22. 如何让mysql的监听端口为3307,而不是默认的3306?
答:编辑mysql配置文件:vim /etc/my.cnf ,令参数 port = 3307
标签:mysql mysqldump xtrabackup show use select
原文地址:http://rachy.blog.51cto.com/11428504/1892019