| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
| public:it:mysql [2020/12/29 16:59] – [Database] oakfire | public:it:mysql [2026/08/13 11:47] (当前版本) – [Tips] oakfire |
|---|
| |
| ====== MySQL ====== | ====== MySQL ====== |
| <WRAP center round important 60%> | |
| Mysql 的 dns 反查(ip反查)有可能让速度变得很慢,特别是在局域网dns配置失效情况下。 | |
| </WRAP> | |
| * Official site: [[http://mysql.com|mysql.com]] | * Official site: [[http://mysql.com|mysql.com]] |
| ===== MariaDB ===== | ===== MariaDB ===== |
| * Official site: [[https://mariadb.org/|mariadb.org]] | * Official site: [[https://mariadb.org/|mariadb.org]] |
| | * 与 mysql 的差异: https://www.skeema.io/blog/2023/05/10/mysql-vs-mariadb-schema/ |
| | * 在root下刚安装完时,即可直接用 ''mysql'' 命令进入, mariadb 会自动检查当前系统用户是否为root. |
| | * 执行 ''sudo mysql_secure_installation'' 脚本来进行安全设置 |
| | * Ubuntu20.04 后 MariaDB 默认使用 ''unix_socket'' 插件来认证root用户,改回 ''mysql_native_password'' 插件的方式:<code bash> |
| | sudo su # get root access |
| | mysql # connect db |
| | update mysql.user set plugin = 'mysql_native_password' where User = 'root'; |
| | flush privileges; |
| | </code> |
| ===== Tools ===== | ===== Tools ===== |
| * Mac 下好用的工具:[[https://www.sequelpro.com/|Sequal Pro]] | * Mac 下好用的工具:[[https://www.sequelpro.com/|Sequal Pro]] |
| | * [[https://github.com/slashbaseide/slashbase|slashbase]]: 一个基于浏览器的数据库操作 IDE,有点类似 PHPMyAdmin,但使用 Go 语言编写,并且支持 PostgreSQL 和 MongoDB。 |
| ===== Manual ===== | ===== Manual ===== |
| * [[https://dev.mysql.com/doc/refman/5.7/en/sql-statements.html|sql syntax]] | * [[https://dev.mysql.com/doc/refman/5.7/en/sql-statements.html|sql syntax]] |
| |
| ==== Check Connections ==== | ==== Check Connections ==== |
| * Connection history: ''mysql> show status like 'Conn%'; '' | * Connection history: ''show status like 'Conn%'; '' |
| * Current connections: ''mysql> show status like '%onn%'; '' | * Current connections: ''show status like '%onn%'; '' |
| * Threads connected: ''mysql> show processlist;'' | * Threads connected: ''show processlist;'' |
| ==== Query ==== | ==== Query ==== |
| * [[http://dev.mysql.com/doc/refman/5.7/en/examples.html|select examples]], ''select a,b from tablename where [conditions] order by a'' | * [[http://dev.mysql.com/doc/refman/5.7/en/examples.html|select examples]], ''select a,b from tablename where [conditions] order by a'' |
| </code> | </code> |
| * 导入导出数据: mysqldump, 查看 ''man mysqldump'' | * 导入导出数据: mysqldump, 查看 ''man mysqldump'' |
| * 获取时区设置 ''SHOW VARIABLES LIKE 'system_time_zone' '' | * ''mysqldump --databases [dbname1] [dbname2] > output.sql'' |
| | * ''mysql < output.sql'' |
| | * 获取时区设置 <code sql>SHOW VARIABLES LIKE 'system_time_zone'</code> |
| * Timestamp 类型赋值给 Datetime 类型<code sql>update sometable set dtime=FROM_UNIXTIME(UNIX_TIMESTAMP(ttime));</code> | * Timestamp 类型赋值给 Datetime 类型<code sql>update sometable set dtime=FROM_UNIXTIME(UNIX_TIMESTAMP(ttime));</code> |
| * 查看表大小<code sql> | * 查看表大小<code sql> |