Help
Run command:
mysqld --help -vv
配置文件
- 文件名my.cnf
- 文本文件
- 可有多个配置文件
- 参数覆盖原则,最后一个参数生效
可以通过--default-file来指定
编译安装
不推荐源码编译安装,除非用Intel的c++编译器(商业版),自己编译的跟官方已经编译好的安装包差别不大。
Mysql版本升级
- 跨版本理论上可以升级,5.1-》5.7,5.5->5.7, 5.6-》5.7(待验证)
- 升级步骤
a. 安全关闭数据库
b. 安装新版数据库
c. 将mysql库指定到新版本
d. 配置新版库data目录到新版mysql中
e. run脚本mysql_upgrade, 加-s (只重新生成系统表,如果不加-s,会将所有用户表重建,在线的话耗时太久)
d. 检查data/error.log - 如果有主从架构,先在slave上升级。
- 语法,参数跨版本的话肯能存在不再支持的情况,也就是过期了(deprecated),跨一个版本通常会兼容,跨多个版本可能不兼容。
- 因为线上库通常比较大,通常线上库升级前不会备份。
- 如何回退,如果是pg_upgrade -s 升级的可以回退
- mysql4.0-》mysql4.1 是不兼容的,需要先dump,其他版本不需要先dump。
存储
老师建议data目录都放在ssd上,因为orcale通常都运行在比较高端的服务器上,如果换成mysql后用的硬盘比较低端,会感觉慢很多。
无密码登陆
mysql_config_editor set -G vml -h 127.0.0.1 -S /tmp/mysql.socket -u root -p
mysql --login-path=vml
当表列很多时可以用列形式表示
select * from user\G