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 NAMESWHERE 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。如果如果都是先给转出账户(或转入账户)加锁,然后给转入账户(或转出账户)加锁。就可能出现死锁。
这个可以通过加锁时都是先给主键值小的记录加锁,然后给主键值大的记录加锁,就会避免出现死锁了。
如果有帮助到你,请点击采纳。
我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)