第19章 简单的MySQL操作

1. 如何更改系统环境变量PATH?
vim /etc/profile.d/path.sh  加入

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联公司面向各种领域:成都柔性防护网成都网站设计网络营销推广解决方案、网站设计等建站排名服务。


  #!/bin/bash

  export PATH=$PATH:/usr/local/MySQL/bin:/usr/local/apache2/bin

2. 默认mysql安装好后,并没有root密码,如何给root设置一个密码?
 mysqladmin -uroot password  'newpass'   
3. 如何更改root密码?
  mysqladmin -uroot -poldpasswd password 'newpasswd'

4. 如何连接远程的mysql服务器
mysql -uusername -ppass -hhostip -Pport   

username 用户名  pass密码  hostip 另一台机的ip  -P 连接的端口

5. 如何查看当前登陆mysql的账户?
  select user();
6. 在mysql命令行下,怎么切换某个库?
  use databasename;  或 use mysql;或  use discuz;    
7. 如何查看一个表都有哪些字段?
   desc tablename;
8. 如何查看某个表使用的是哪种数据库引擎?
   show create table\G;

9. 如何查看当前数据库有哪些队列?
  show processlist;
10. 当有很多队列时,如何查看有哪些慢查询?
看慢查询日志,慢查询日志在/etc/my.cnf中设置方法是增加:
log_slow_queries =  /data/mysql/slow.log
long_query_time = 1  //查询时间超过1s会记录日志

查看日志文件  cat  /data/mysql/slow.log

 命令   show global status like "%slow%";

11. 如何查看当前mysql的参数值?
  show variables;

12. 如何不重启mysql服务,更改某个参数?
 set global xxx = xxx; 比如
set global wait_timeout = 10; 或者  set global max_connect_errors=1000; 

13. 用什么工具备份数据库?请区分myisam引擎和innodb引擎两种存储引擎的备份。
mysqldump 备份数据库,mysqldump可以备份两种引擎的数据。但是innodb引擎的数据使用xtrabackup工具更快

14. 简单描述myisam和innodb引擎的区别。
innodb不支持fulltext类型索引;
innodb不保存表的行数;
myisam的数据直接存在系统的文件中,而innodb的数据库会事先创建一个数据表空间文件,然后再从这个表空间文件中存数据;
myisam不提供事务支持,InnoDB提供事务支持事务,外部键等高级 数据库功能;
myisam的锁是对整个表锁定,innodb是行锁;

15. 如果你的mysql服务启动不了,而当前终端又没有报错,你如何做?
查看mysql的日志,日志默认在datadir下,以hostname为名字的.err文件

16. 要备份的库字符集是gbk的字符集,为了避免出现乱码的情况,如何在备份和还原的时候指定字符集为gbk?
备份指定 mysqldump --default-character-set=gbk
恢复指定  mysql --default-character-set=gbk

17. 错误日志中,如果出现提示说某个表损坏需要修复,你如何修复这个表呢?
repair table tablename;  例如  mysql> repair table discuz.pre_forum_post;

18. 备份myisam引擎的数据库时,我们除了使用mysqldump工具备份外,还可以直接拷贝数据库的源数据(.frm, .MYD, .MYI三种格式的数据),其中哪一个文件可以不拷贝?若想恢复该文件,如何做?
.MYI的文件可以不拷贝,恢复的时候,需要修复表,但加上 use_frm, 如
repair table tb1 use_frm;

19. 如果mysql的root密码忘记了如何做?
1) 编辑mysql主配置文件 my.cnf  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) 修改/etc/my.cnf 去掉 skip-grant , 重启mysql服务

20. 如何更改mysql的普通账户密码?

update user set password=password('your password') where user='username';

21. mysql的命令历史文件在哪里,为了安全我们其实是可以做一个小处理,不让mysql的命令历史记录在文档中,请想一想如何利用之前我们学过的知识做到?
~/.mysql_history 
我们可以这样不保存mysql命令历史: cd ~; rm -f .mysql_history; ln -s /dev/null .mysql_history

22. 如何让mysql的监听端口为3307,而不是默认的3306?
vim /etc/my.cnf 
把port            = 3306 改为 port            = 3307
扩展阅读:

mysql 配置参数详解 http://www.lishiming.net/thread-87-1-1.html

mysql 5.0 与 5.1 记录慢查询日志的区别  http://www.lishiming.net/thread-374-1-1.html

myisamchk 修复表  http://www.lishiming.net/thread-256-1-1.html

同一台MySQL服务器启动多个端口  http://www.lishiming.net/thread-63-1-1.html

mysqld_multi stop 不能停掉mysql  http://www.lishiming.net/thread-624-1-1.html

mysql 使用innodb引擎 http://www.lishiming.net/thread-955-1-1.html

mysql innodb引擎让为每一个表分配一个表空间 http://www.lishiming.net/thread-5498-1-1.html

如何查看mysql的命令历史  http://www.lishiming.net/thread-1022-1-1.html

mysql-5.1默认不支持innodb引擎,默认不支持gbk字符集  http://www.lishiming.net/thread-1229-1-1.html

mysql 在指定IP上启动端口  http://www.lishiming.net/thread-208-1-1.html

mysql 忘记root密码怎么办 http://www.lishiming.net/thread-252-1-1.html

windows mysql root 密码忘记怎么办 http://www.lishiming.net/thread-1014-1-1.html 

mysql删除某个表前100条数据 http://www.lishiming.net/thread-5452-1-1.html

mysql常用授权  http://www.lishiming.net/thread-88-1-1.html

mysqldump 备份和恢复指定表   http://www.lishiming.net/thread-131-1-1.html

mysql 5.0/5.1版本修改普通用户的密码   http://www.lishiming.net/thread-892-1-1.html

mysql显示SQL语句执行时间 http://www.lishiming.net/thread-214-1-1.html

mysql 复制一个表,复制一个表结构的sql 语句  http://www.lishiming.net/thread-219-1-1.html

mysql innodb引擎让为每一个表分配一个表空间 http://www.lishiming.net/thread-5498-1-1.html

使用xtrabackup备份innodb引擎的数据库    http://www.lishiming.net/thread-956-1-1.html

mysql5.1所支持的几种存储引擎 http://www.lishiming.net/thread-5501-1-1.html

mysql 导入超级大的sql文件时mysql服务重启 http://www.lishiming.net/thread-5395-1-1.html

mysql myisam和innodb引擎对比 http://www.lishiming.net/thread-97-1-1.html


名称栏目:第19章 简单的MySQL操作
URL链接:http://hbruida.cn/article/giihci.html