Mysql数据库学习笔记Word文档格式.docx

上传人:b****7 文档编号:22575175 上传时间:2023-02-04 格式:DOCX 页数:27 大小:31.21KB
下载 相关 举报
Mysql数据库学习笔记Word文档格式.docx_第1页
第1页 / 共27页
Mysql数据库学习笔记Word文档格式.docx_第2页
第2页 / 共27页
Mysql数据库学习笔记Word文档格式.docx_第3页
第3页 / 共27页
Mysql数据库学习笔记Word文档格式.docx_第4页
第4页 / 共27页
Mysql数据库学习笔记Word文档格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

Mysql数据库学习笔记Word文档格式.docx

《Mysql数据库学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《Mysql数据库学习笔记Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。

Mysql数据库学习笔记Word文档格式.docx

查询mysql版本

select@@version;

三、权限管理

相关数据字典

select*frommysql.user;

select*frommysql.db;

select*frommysql.tables_priv;

select*frommysql.columns_priv

查看端口服务是否启动

Netstat–lntup|grep330

显示当前权限

showgrants

showgrantsforyf2@localhost;

授权例子,可以控制到列

grantselect(sex)onmafei.studtolx@localhost;

grantselect(name)onmafei.studtolx@localhost;

回收权限

revokeselect(sex,name)onmafei.studfromlx@localhost;

从指定主机指定用户上回收某一数据库的所有权限

revokeallprivilegesontest2.*from'

test4'

将某一数据库中的某一张表的增加,删除,修改,查询权限授于某一用户

grantselect,insert,delete,updateontest2.test2to'

回收某一用户的insert权限

revokeinsertontest2.test2from'

将某一用户下某一张表的某个列的查询权限授于某个用户

grantselect(i)ontest2.test22to'

grantselect(j,k)ontest2.test22to'

grantinsert(i)ontest2.test22to'

grantupdate(i)ontest2.test22to'

四、进程管理

去查看当前库的线程情况

SHOWPROCESSLIST;

SHOWFULLPROCESSLIST;

MYSQLADMIN–UROOT–PPROCESSLIST

MYSQLADMIN–UROOT–PPROCSTATUS

KILL<

进程号>

找出运行时间超过10秒的process的ID

SELECTIDFROMINFORMATION_SCHEMA.PROCESSLIST 

WHERECOMMAND='

Query'

ANDTIME>

10;

过滤一些条件

WHERECOMMAND='

QUERY'

10 

ANDID!

=CONNECTION_ID() 

ANDUSER!

='

ROOT'

 

ANDCOMMAND!

BINLOGDUMP'

ANDSTATENOTREGEXP'

(SLAVE|RELAY|EVENT)'

生成杀进程命令至文件

SELECTCONCAT('

KILL'

ID,'

'

FROM 

INFORMATION_SCHEMA.PROCESSLIST

WHERE 

USER='

WEBS'

 

ANDCOMMAND='

ANDTIME>

10

INTO 

OUTFILE'

/TMP/KILL_LIST.TXT'

五、显示日志

显示二进制日志

showbinlogevents;

慢查询日志

showvariableslike'

%slow%'

+---------------------------+-------

|Variable_name|Value

|log_slow_admin_statements|OFF

|log_slow_slave_statements|OFF

|slow_launch_time|2

|slow_query_log|OFF

|slow_query_log_file|C:

\wam

showvariableslike'

%long%'

+-------------------------------------------

|Variable_name

|long_query_time

常规日志

general_log=ON

general_log_file=/home/logs/mysql.log

六、日常命令

提示符设置

prompt\u@\h\d\r:

\m:

\s>

查看mysql版本

selectversion();

显示数据库状态

Status;

win7下mysql服务命令行启动与停止

(1)以管理员权限打开命令行窗口

MicrosoftWindows[版本6.1.7601]

版权所有(c)2009MicrosoftCorporation。

保留所有权利。

(2)停止mysql服务(mysql56是服务名)

C:

\Windows\system32>

netstopmysql56

MySQL56服务正在停止..

MySQL56服务已成功停止。

(3)启动mysql服务

netstartmysql56

MySQL56服务正在启动.

MySQL56服务已经启动成功。

命令行启动:

c:

\>

mysqld

安装windows服务:

mysqld–install<

servicename>

mysqld–remove<

Linux启动/停止/重启Mysql数据库的方法

a、启动方式

1、使用service启动:

servicemysqldstart(5.0版本是mysqld)

servicemysqlstart(5.5.7版本是mysql)

2、使用mysqld脚本启动:

/etc/init.d/mysqldstart

3、使用safe_mysqld启动:

safe_mysqld&

b、停止

servicemysqldstop

/etc/init.d/mysqldstop

3、mysqladminshutdown

c、重启

servicemysqldrestart

servicemysqlrestart(5.5.7版本命令)

/etc/init.d/mysqldrestart

连接mysql

mysql-uroot-p

mysql-utest-ptest

查询mysql有哪些数据库

showdatabases;

创建数据库

createdatabasezhdn;

连接数据库

usezhdn;

查看现在数据库中有什么表

showtables;

建表

createtablelx1(namevarchar(20),sexchar

(1));

显示表结构

describelx1(desclx1);

显示表的完整定义

showcreatetabletest.lx1;

显示表中列的属性

showcolumnsfromxs\G

显示表的数据字典信息

usetest

showtablestatus;

showtablestatuslike'

lx%'

插入记录

insertintolx1(name,sex)values("

mafei"

"

M"

);

用文本方式将数据装载如数据库中

\lx\lx1.txt(列值用tab隔开)

zhang5M

wangt6N

loaddatalocalinfile"

/lx/lx1.txt"

intotablelx1;

导入.sql文件

sourcec:

/lx/lx2.sql

删除表定义

droptablelx1;

清空表数据

deletefromlx1;

更新表数据

updatelx1setsex='

N'

wherename='

导出数据库

mysqldump-uroot-p--databaseszhdn>

mysql.zhdn

Enterpassword:

**********

导入数据库

mysql-uroot-pzhdn<

mysql.zhdn

sourceC:

\ProgramFiles\MySQL\MySQLServer5.6\bin\lx2.sql

开启事物

setautocommit=0;

M'

zhdn'

commit;

rollback;

查看存储引擎

showengines;

showcreatetablelx1;

如何察看当前连接数据库

方法一:

selectdatabase();

方法二:

方法三:

status;

查询系统变量

%char%'

远程连接

GRANTALLPRIVILEGESON*.*TO'

%'

IDENTIFIEDBY'

WITHGRANTOPTION;

flushprivileges;

showgrants;

mysql-h192.168.8.128-uroot-proot

高效载入MyISAM表

Altertabletest.load_datadisablekeys;

--loaddata

Altertabletest.load_dataenablekeys;

七、事务管理

查看数据库当前隔离级别

select@@tx_isolation;

查看是否自动提交

select@@autocommit;

相关系统表

innodb_trx

innodb_locks

innodb_lock_waits

innodb锁定超时设置

从MySQL5.5.X版本开始,可以动态修改该参数,该参数默认是50秒。

修改命令如下:

setinnodb_lock_wait_timeout=500;

八、备份恢复

备份数据库test

mysqldump-uroot-p-l-Fmafei>

\temp\mafei.dmp

从备份中恢复数据库test

mysql-uroot-pmafei<

使用

Mysqlbinlog

恢复自

Mysqldump

备份以来的binlog

mysqlbinlog

--start-position=2825

--stop-position=2939C:

\wamp\bin\mysql\mysql5.6.17\log\logbin.000003

>

\temp\mafeilog.dmp

九、数据复制

MasterIP:

192.168.8.128

SlaveIP:

192.168.2.129

双向复制,主主复制

9.1主库操作

步骤

主库操作(master)

1

showmasterstatus\G

***************************1.row***************************

File:

mysql-bin.000001

Position:

120

Binlog_Do_DB:

Binlog_Ignore_DB:

Executed_Gtid_Set:

1rowinset(0.03sec)

2

grantreplicationslaveon*.*

torepl@'

192.168.8.129'

repl'

QueryOK,0rowsaffected(0.00sec)

3

changemasterto

master_host='

master_port=3306,

master_user='

master_password='

master_log_file='

mysql-bin.000001'

master_log_pos=120,

master_connect_retry=10;

4

startslave;

5

showslavestatus\G

6

--验证第一个数据复制流,在主动节点服务器上

createschemaifnotexistsverify_failover;

useverify_failover

createtablerpl_test(idserial)engine=InnoDB;

insertintorpl_test(id)values

(1),

(2),(3);

select*fromrpl_test;

+----+

|id|

|1|

|2|

|3|

7

--验证第二个数据复制流,在主动主节点服务器上

|11|

|22|

dropschemaverify_failover;

8

--应用程序验证,供正常访问和故障转移时测试使用

createschemabook3;

createuserapp@'

192.168.8.%'

grantinsert,update,delete,selectonbook3.*toapp@'

usebook3

createtableverify(idserial)engine=InnoDB;

mysql-h192.168.8.128-uapp-pmafei

mysql-h192.168.8.129-uapp-pmafei

grantcreatetableonbook3.*toapp@'

9.2从库操作

从库操作(slave)

grantreplicationslaveon*.*torepl@'

十、常用技巧

执行系统命令

systemls-l

修改提示符

promptMySQL:

\u@\h(\d)\r:

\s:

执行SQL脚本

Mysql>

sourcea.sql

使用tee保存运行结果到文件

teea.txt

….

notee

交互式执行

mysql-uroot-p-hslave2-Dzhijian-e"

select*frombaidulimit2"

登陆时设置提示符

有三种方法:

1、在Bash层修改MYSQL_PS1变量

exportMYSQL_PS1="

(\u@\h)[\d]>

"

2、MySQL命令行参数

mysql-uroot-p-hslave2-Dzhijian--prompt="

(\u@\h)[\d]>

"

3、配置文件/etc/f

[mysql]

prompt=(\\u@\\h)[\\d]\\r:

\\m:

\\s>

mysql.sh

mysqlHost=192.168.0.184

mysqlUser=root

mysqlPassword=abcde

mysqlDB=zhijian

mysql-h$mysqlHost-u$mysqlUser-p$mysqlPassword--databases$mysqlDB<

mysql.ini

mysql.ini

select*frombaidulimit2;

随机串

(root@slave1)[(none)]09:

26:

58>

selectUUID();

+--------------------------------------+

|UUID()|

|e2573732-18a9-11e6-b7a2-00505625843b|

30>

selectmd5(1234);

+----------------------------------+

|md5(1234)|

|81dc9bdb52d04dc20036dbd8313ed055|

+-----------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1