如何在MYSQL中设置一个默认的数据库

如何在MYSQL中设置一个默认的数据库,第1张

1、mysql默认的有

mysql

test

information_schema

performance_schema

2、创建用户时候可以设定默认数据库

mysql

-uroot

-p123456

-e"CREATE

USER

'user1'@'localhost'

IDENTIFIED

BY

'123456'"

mysql

-uroot

-p123456

-e"GRANT

ALL

ON

db01.*

TO

'user1'@'localhost'"

3、登陆时候可以指定数据库,例如

mysql

-A

-uroot

-p123456

-Dmysql

SELECT * FROM names

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

| id | name   |

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

| 1  | google |

| 2  | yahoo  |

| 3  | msn    |

| 4  | google |

| 5  | google |

| 6  | yahoo  |

想保留最大id的话:

DELETE FROM NAMES

 WHERE id NOT IN (SELECT * 

                    FROM (SELECT MAX(n.id)

                            FROM NAMES n

                        GROUP BY n.name) x)

你好,很高兴回答你的问题。

两个事务t1和t2,假如t1先对表a的记录a1加了锁,而t2对表a的记录a2加了锁。

然后t1又需要对a2加锁,t2又需要对a1加锁。

这时候就会因为持有对方需要的锁,而又等待对方释放自己需要的锁,导致死锁

比如两个账户记录转账,两个事务,一个事务是从a转账给b,一个事务是从b转账给a。如果如果都是先给转出账户(或转入账户)加锁,然后给转入账户(或转出账户)加锁。就可能出现死锁。

这个可以通过加锁时都是先给主键值小的记录加锁,然后给主键值大的记录加锁,就会避免出现死锁了。

如果有帮助到你,请点击采纳。

我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7282325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存