mysql常用命令总结

#mysqladmin -u root password Yz2*6dLp ###root用户设置密码

use mysql;

update user set authentication_string=password("新密码") where user="root";   #更新root密码
#show grants for 'sony'@'10.10.10.74'; ###查看用户权限

#mysql -utmg -h 127.0.0.1 -p123 ####本地127.0.0.1登陆mysql(默认localhost)
>update mysql.user set password=password('tmgzcb') where user='qunle'; ####修改mysql用户密码

#mysqldump -u root -p auth > mysql.auth.sql ####备份auth库

mysqldump -u root -h 192.168.12.1 -p  库名 auth_user > auth_user.sql  #备份表

#mysqldump -u root -p --all-databases > mysq-all.sql ####备份所有库

#mysqldump -u root -p auth -l -F > auth.sql #### -l 备份的时候禁止写入,可以读
#### -F 生成新的二进制文件
#mysql -u root -p auth -v -f < mysql.auth.sql ####恢复auth库
#### -v 查看导入详细信息
#### -f 当中间遇到错误时,skip过去,继续执行下面语句。
#mysql -u root -p < mysql-all.sql ####恢复所有库

#mysqlbinlog --no-defaults mysql-bin.00002 |mysql -uroot -p123 test ####恢复binlog-file二进制日志文件
二进制日志文件后面跟的主要参数:
--stop-position="100" --start-position="50"
--stop-date="2015-01-04 01:17:50"
--start-date="2015-01-04 06:10:10"
#/home/mysql/bin/myisamchk -C -r ../data/zabbix/history_uint.MYI #####修复zabbix数据库
192.168.253.1
>source /home1/dx2.dump.4 ####命令行界面导入库

>create database picbbs character set utf8 #####创建数据库
>grant all privileges on *.* to root@localhost identified by 'mysql!';
>flush privileges; #### 用户授权
>revoke all on game_dx32.* from game_dx32@10.10.10.209; #### 撤销用户权限
>delete from mysql.user where user='picbbs'; 删除数据库用户
> truncate table virtual_domains; 清空表
> drop table virtual_aliases ; 删除表
/home/mysql/data/bin/myisamchk -c -r /home/mysql/data/zabbix/history_uint.MYI

---------------------------------------------------------------------------------
>show processlist; 显示当前正在执行的mysql连接

mysql -u root -h127.0.0.1 --skip-column-names -e"show processlist;"
|awk '{print $3}'|awk -F":" '{print $1}'|sort|uniq -c ####统计MySQL连接数
/home/server/mysql5/bin/mysql -u root -h127.0.0.1
--skip-column-names -e"show processlist;"
|awk -F'\t' '{for(i=8; i<NF; i++){printf $i" "};{print $NF,$3}}'
|awk -F':' '{print $1}'|sort|uniq -c|sort -nr >>/root/shell/SM.txt ####统计MySQL连接数
---------------------------------------------------------------------------------

#cat /home/server/mysql5/bin/mysqlbug |grep configure #####查看mysql编译参数
>SHOW ENGINES; ######也可以查看是否有innodb
>show variables like "have_%"; ######查看是否有innodB引擎
have_innodb YES 已经开启InnoDB引擎;
have_innodb NO 未安装InnoDB引擎
have_innodb DISABLED 未启用InnoDB引擎
针对第二种未安装,只需要安装即可;针对第三种未启用,则打开mysql配置文件,找到 skip-innodb项,
将其改成#skip-innodb,之后重启mysql服务即可

--------------------------------------------------------------------------------------------
#cat /home/server/mysql/bin/mysqlbug |grep configure ######查看mysql已经编译的参数
---------------------------------------------------------------------
修复数据库:
myisamchk -of /mail/var/mysql/smtp/Filter.MYI
myisamchk -r /mail/var/mysql/smtp/Filter.MYI
myisamchk safe-recover /mail/var/mysql/smtp/Filter.MYI
-----------------------------------------------------------------
mysql日志分类:
1.二进制日志 log-bin = /home/server/mysql/logbin.log
max_binlog_size = 200M ####设置binlog日志大小,超过200M自动回滚,默认超过1G回滚。
2.调试日志
3.错误日志 log-error = /home/server/mysql/logerr.log
4.查询日志 log=/home/server/mysql/tmg253.log ######开启查询日志
5.慢查询日志 slow-query-log = on ###开启慢日志
slow-query_log_file = /home/server/mysql/data/cq-42-slow.log ##指定路径
long_query_time = 5 ###记录执行时间超过5s的sql语句
>show variables like '%slow%'; ###查看是否开启慢查询日志
log_slow_queries oFF
6.更新日志
#mysqlbinlog home/server/mysql5.5/mysql/mysql-bin.001056 ###查看mysql二进制日志
>show master status; ####查看最后一个二进制日志
>reset master; ####清空二进制日志
---------------------------------------------------------------------
破解mysql密码:
service mysqld stop
/usr/local/mysql/bin/mysqld_safe --skip-grant-table &
mysql -u root
update mysql.user set password=password('123456') where user='root';
flush privileges;
-------------------------------------------------------------------------

oracle启动
/home/oracle/product/bin/lsnrctl start
或者 su - oracle
lsnrctl start ####启动端口服务
su - oracle sqlplus / as sysdba
startup ####启动库
-----------------------------------------------------------------------

mysql主从复制
主服务器配置:
msyql>grant all slave on *.* to user@192.168.35.201 identified by "tmgzcb!";
log-bin=mysql-bin
server-id=1
mysql>flush tables with read lock; #####读锁 unlock tables; #解锁
从服务器配置:
log-bin=mysql-bin
server-id=2
master-host=192.168.200
master-user=tmg
mster-password=tmgzcb!
master-port=3306
mysql>show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes 都是yes,即可。
--------------------------------------------------------------------------------
配置文件详解:
basedir = /home/server/mysql/
datadir = /home/server/mysql/data
pid-file = /var/run/mysqld/mysqld.pid
socket = /tmp/mysqld.sock
port = 3306
key_buffer = 384M (一般设置物理内存1/4) # key_buffer是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写)。
索引块是缓冲的并且被所有的线程共享,key_buffer的大小视内存大小而定。
table_open_cache = 512 # 为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。可以避免频繁的打开数据表产生的开销
sort_buffer_size = 10M # 为排序操作分配缓冲区的长度。

read_buffer_size = 10M # 读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。
join_buffer_size = 4M ###JOIN语句使用,如果不是很多可以忽略,一般设置2-4M可以满足大多应用需求。
query_cache_limit = 24M ###指定单个查询能够使用的缓冲区大小
query_cache_size = 32M # 指定MySQL查询结果缓冲区的大小,不宜设置过大,在高并发,写入量大的系统,建议禁用此功能。
read_rnd_buffer_size = 8M # 该参数在使用行指针排序之后,随机读用的。类似sort_buffer,但针对的是某种特定顺序。
myisam_sort_buffer_size =256M # MyISAM表发生变化时重新排序所需的缓冲,类似sort_buffer
thread_concurrency = 8 # 最大并发线程数,取值为服务器逻辑CPU数量×2,如果CPU支持H.T超线程,再×2
thread_cache_size = 256 #同上面,表示方法不同, 表示可以重新利用保存在缓存中线程的数量.
tmp_table_size = 512M ####内部内存临时表的最大值。
max_heap_table_size = 128M ####定义了用户可以创建的内存表(memory table)的大小
max_connections = 1800 ####最大连接数
interactive_timeout=100 ####指的是mysql在关闭一个交互的连接之前所要等待的秒数
wait_timeout=100 ####指的是mysql在关闭一个非交互的连接之前所要等待的秒数
expire_logs_days=60 ####自动清理binlog日志时间
binlog_format=mixed ####binlog日志记录格式
skip-name-resolve ####禁用DNS解析
skip-external-locking # 跳过外部锁定,减少出错几率增强稳定性(老版本skip-locking)。

[mysqldump]
max_allowed_packet =16M # 服务器和客户端之间最大能发送的可能信息包

[myisamchk]
key_buffer = 256M
sort_buffer = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
-----------------------------------------------------

InnoDB相关参数:
innodb_additional_mem_pool_size=3M ####InnoDB用于存储元数据信息的内存池大小,一般不需修改
innodb_flush_log_at_trx_commit =1 # 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘
(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘
的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。
innodb_log_buffer_size=2M # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入
磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。
innodb_buffer_pool_size=105M # InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,
则磁盘IO越少。一般将该值设为物理内存的80%。
innodb_log_file_size=53M # 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%
innodb_thread_concurrency=9 # InnoDB内核最大并发线程数
---------------------------------
mongodb启动命令:
in58:
启动路由节点
./mongos --configdb 219.239.88.58:27456,219.239.88.88:27456,219.239.88.56:27456 --port 37456 --chunkSize 100 --logpath /home/mongo/data/mongos.log --logappend --fork
启动配置节点
./mongod --configsvr --dbpath /home/mongo/data/config --port 27456 --logpath /home/mongo/data/config/config.log --logappend --fork --journal
启动数据节点
./mongod --shardsvr --replSet shard4 --port 27111 --dbpath /home/mongo/data/shard4_1 --logpath /home/mongo/data/shard4_1/shard4_1.log --logappend --fork --journal
./mongod --shardsvr --replSet shard5 --port 27112 --dbpath /home/mongo/data/shard5_1 --logpath /home/mongo/data/shard5_1/shard3_1.log --logappend --fork --journal

in56:
./mongos --configdb 219.239.88.58:27456,219.239.88.88:27456,219.239.88.56:27456 --port 37456 --chunkSize 100 --logpath /home/mongo/data/mongos.log --logappend --fork
./mongod --configsvr --dbpath /home/mongo/data/config --port 27456 --logpath /home/mongo/data/config/config.log --logappend --fork --journal
./mongod --shardsvr --replSet shard4 --port 27111 --dbpath /home/mongo/data/shard4_3 --logpath /home/mongo/data/shard4_3/shard4_3.log --logappend --fork --journal
./mongod --shardsvr --replSet shard5 --port 27112 --dbpath /home/mongo/data/shard5_3 --logpath /home/mongo/data/shard5_3.log --logappend --fork --journal
in88:
./mongos --configdb 219.239.88.58:27456,219.239.88.88:27456,219.239.88.56:27456 --port 37456 --chunkSize 100 --logpath /home/mongo/data/mongos.log --logappend --fork
./mongod --configsvr --dbpath /home/mongo/data/config --port 27456 --logpath /home/mongo/data/config/config.log --logappend --fork --journal
./mongod --shardsvr --replSet shard5 --port 27112 --dbpath /home/mongo/data/shard5_2 --logpath /home/mongo/data/shard5_2/shard3_2.log --logappend --fork --journal
./mongod --shardsvr --replSet shard4 --port 27111 --dbpath /home/mongo/data/shard4_2 --logpath /home/mongo/data/shard4_2/shard4_2.log --logappend --fork --journal
--dbpath 日志文件路径
--logpath 数据库路径
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--shardsvr 指定shard服务器
rs.status(); 查看集群节点的状态
./mongo --port 27111
db.runCommand({"serverStatus" : 1}) 查看配置信息

 

posted @ 2017-02-05 12:32  liumj  阅读(214)  评论(0编辑  收藏  举报