MySQL常用配置
查看MySQL的参数信息
mysql> show variables;
查看key_buffer_size的使用情况
mysql> show status like 'key_read%';
一、数据库配置文件内容及参数说明
配置文件位置:/database/mysql/my.cnf
[mysqld]
log_bin=/database/mysql/data/mysql3306-bin
binlog-ignore-db=mysql,test
# These are commonly set, remove the # and set as required.
basedir=/database/mysql
datadir=/database/mysql/data
port=3306
server_id=811
socket=/database/mysql/data/mysql3306.sock
lower_case_table_names=1
skip-locking
key_buffer_size=256M
max_allowed_packet=1M
sort_buffer_size=1M
read_buffer_size=1M
read_rnd_buffer_size=4M
myisam_sort_buffer_size=64M
thread_cache_size=8
query_cache_size=16M
thread_concurrency=8
interactive_timeout=8
wait_timeout=8
slow_query_log=on
long_query_time=1
slow-query-log-file=/database/mysql/slow.log
参数说明:
log_bin:二进制文件保存位置(主从数据库中的应用)
binlog-ignore-db:(不包含的数据库)
basedir:MySQL的安装位置
datadir:数据文件的保存位置
port:端口号
server_id:用于标识该语句最初是从哪个server写入的
socket:socket文件的保存位置
lower_case_table_names:创建的表名全部小写
skip-locking:过滤掉锁
key_buffer_size:首先可以根据系统的内存大小设定它,大概的一个参考值:1G以下内存设定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.这个值可以通过检查状态值Key_read_requests和 Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE 'key_read% '获得)。注意:该参数值设置的过大反而会是服务器整体效率降低!
max_allowed_packet:允许最大的包主要在phpadmin中导入文件是的应用
sort_buffer_size:查询排序时所能使用的缓冲区大小,该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 4 = 400MB。所以,对于内存在4GB左右的服务器推荐设置为4-8M
read_buffer_size:读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享!
read_rnd_buffer_size:排序的缓冲区大小
myisam_sort_buffer_size:这个缓冲区主要用于修复表过程中排序索引使用的内存或者是建立索引时排序索引用到的内存大小,一般4G内存给64M即可
thread_cache_size:表示可以重新利用保存在缓存中线程的数,参考如下值:1G —> 8 2G —> 16 3G —> 32 >3G —> 64
query_cache_size:MySQL查询操作缓冲区的大小,通过以下做法调整:SHOW STATUS LIKE ‘Qcache%’; 如果Qcache_lowmem_prunes该参数记录有多少条查询因为内存不足而被移除出查询缓存。通过这个值,用户可以适当的调整缓存大小。如果该值非常大,则表明经常出现缓冲不够的情况,需要增加缓存大小;Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的查询内存是否够用,是多了,还是不够用,我们可以根据实际情况做出调整。一般情况下4G内存设置64M足够了。
thread_concurrency:这个值设置为cpu核数的2倍即可
interactive_timeout=8
wait_timeout:表示空闲的连接超时时间,默认是28800s,这个参数是和interactive_timeout一起使用的,也就是说要想让wait_timeout 生效,必须同时设置interactive_timeout,建议他们两个都设置为10
slow_query_log=on:打开慢查询的开关
long_query_time:sql语句的查询时间
slow-query-log-file:慢查询的保存位置
二、MySQL的root密码重置
设置mysql的密码:
# mysqladmin -uroot password 'fanjinbao '
重置密码时要在my.cnf加入:
skip-grant
重启MySQL的服务
# service mysqld restart
然后输入mysql就可以直接登录了
更改root用户的密码
mysql>use mysql;
mysql>update user set password=password('fanjinbao ') where user= 'root ';
查看root用户的状态
mysql> select * from user where user='root'\G;
修改完密码后记得将my.cnf中的skip-grant去掉,并重启MySQL的服务。
三、MySQL允许远程登录
mysql> grant all on *.* to 'root'@'192.168.1.250' identified by 'yourpwis250';
详细说明:all表示所有权限,ip是来源ip,yourpwid250是密码。
mysql的另一种登录方式,可以是用socket文件来登录:
# mysql -uroot -S /tmp/mysql.sock -p密码
四、MySQL的常用操作
mysql> show databases;查看有哪些数据库
mysql> use mysql;切换数据库
mysql> select database();查看在那个数据库下面
mysql> select user();查看登录的用户
mysql> select version();查看数据库版本
mysql> show tables;查看库里有哪些表
mysql> desc pre_ucenter_vars;查看表中有哪些字段
mysql> show create table pre_ucenter_vars\G;查看建表语句
mysql> create table fansik (`id` int(4),`name` char(40)) engine=myisam default charset=gbk;创建fasik表
mysql> insert into fansik values(1,'fansik');插入一行数据
mysql> insert into fansik(id) values(1);插入name为null数据
mysql> update fansik set id=2 where name='fanjinbao';修改数据
mysql> delete from fansik where name='fanjinbao';删除名字为fanjinbao的行
mysql> truncate table discuz.fansik;清空discuz数据库中的fansik表
mysql> drop table discuz.fansik;删除discuz数据库中的fansik表
mysql> drop database discuz;删除discuz数据库
五、数据库的权限授权
mysql> grant all on discuz.* to 'fansik'@'192.168.1.250' identified by 'yourpwis250';授权一个用户可以对discuz数据库有好多好多的权限
mysql> flush privileges;使新增的用户权限生效,刷新权限
mysql> show processlist;查看哪些用户在连接数据库
mysql> show variables;查看变量
不重启数据库的情况下修改数据库的属性,可以只用修改数据库属性值
mysql> show variables like 'max_connections';值是151
mysql> set global max_connections=200;修改为200
这样就可以在不重启数据库的情况下修改属性配置了
mysql> show status;查看状态
mysql> show status like '%running%';使用通配的方式查看状态
mysql> repair table discuz.fansik;修复discuz数据库的fansik表
六、MySQL的备份与恢复
备份discuz数据库
# mysqldump -uroot -pnyzcglyxgs -P3306 discuz > discuz.sql
恢复备份的discuz数据库
# mysqldump -uroot -pnyzcglyxgs -P3306 discuz < discuz.sql
备份一个表
# mysqldump -uroot -pnyzcglyxgs -P3306 discuz fansik > fansik.sql
恢复一个表(恢复表的时候就不用再加表名了)
# mysqldump -uroot -pnyzcglyxgs -P3306 discuz < fansik.sql
如果需要指定字符集需要在备份或恢复的时候添加
--default-character-set=utf-8
MySQL常用配置的更多相关文章
- MySQL常用配置和性能压力测试:MySQL系列之十五
一.MySQL常用配置 以下所有配置参数以32G内存的服务器为基 1.打开独立的表空间 innodb_file_per_table = 1 2.MySQL服务所允许的同时会话数的上限,默认为151,经 ...
- Mysql常用配置及优化
[client]# 该目录下的内容常用来进行localhost登陆,一般不需要修改port = 3306 # 端口号socket = /var/lib/mysql/mysql.sock # 套接字文件 ...
- 【linux】之安装mysql常用配置
下载mysql地址 http://dev.mysql.com/downloads/mysql/ 选择下面这个 查看是否存在mysql安装包 rpm -qa|grep -i mysql 删除mysql安 ...
- MySQL常用配置参数
基本配置: datadir:指定mysql的数据目录位置,用于存放mysql数据库文件.日志文件等. 配置示例:datadir=D:/wamp/mysqldata/Data default-chara ...
- mysql常用配置注意项与sql优化
建立数据库: 建立数据库时编码字符集采用utf8 排序规则: 后缀"_cs"或者"_ci"意思是区分大小写和不区分大小写(Case Sensitive & ...
- mysql 常用配置
1. 帐号不允许从远程登陆,只能在localhost 这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“loc ...
- MySQL常用配置参数说明
1.sync_binlog sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来 ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
随机推荐
- MyEclipse的 at com.genuitec.eclipse.ast.deploy.core.Deployment.<init>错误解决办法
我们使用myeclipse自动部署web项目时会设置服务器的位置,而部署的相关配置会存储在myeclipse工作目录下的“/.metadata/.plugins/org.eclipse.core.ru ...
- Fix the Can’t clobber writable file error in Perforce Version Control System - forward
http://easyprograming.com/eclipse-articles/57-fix-the-cant-clobber-writable-file-error-in-perforce-v ...
- CCNA 6.6
sh run (show running-config) enable disable login logout exit end enable password privilege level(g ...
- cvWaitKey
OpenCV中的一个函数 函数原型为: C++: int waitKey(int delay=0) Python: cv2.waitKey([delay]) → retval C: int cvWai ...
- app store 上架流程
前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...
- 3D中的切线空间简介
转自:http://www.cnblogs.com/cxrs/archive/2009/10/25/1589515.html 1. 什么是Tangent space? Tangent space和wo ...
- 解决mac eclipse 异常退出后无法打开处于loading状态
<workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap
- 12-24 关于UIScroView 控件的学习
在iOS开发中,滚动视图(UIScrollView)通常用于显示内容尺寸大于屏幕尺寸的视图.滚动视图有以下两个主要作用: 让用户可以通过拖拽手势来观看想看到的内容 让用户可以通过捏合手势来放大或缩小观 ...
- 嵌入式 -- WINKHUB 边信道攻击 (NAND Glitch)
0x00 前言 随着物联网IOT的飞速发展,各类嵌入式设备, 路由器安全研究也越来越火. 但因为跟以往纯软件安全研究的要求不同, 这类研究往往需要结合相应的硬件知识. 很多朋友困惑如何开始, 甚至卡在 ...
- Python ~~~ 面向对象的利器
class Rectangle(): # 有没有括号都行 . def __init__(self,x,y): self.x=x self.y=y def getPeri(self): def getA ...