MySQL操作笔记
MySQL是我最常用的关系型数据库,不过运维相关的一些命令,我不是很常用,但是偶尔又要用,每次都要去搜索太麻烦了,遂作笔记。
把默认编码设置为 utf8mb4
更改 /etc/mysql/my.cnf
,ubuntu的话,更改 /etc/mysql/conf.d/mysql.cnf
:
[client]
default-character-set = utf8mb4
[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4
[mysql]
default-character-set = utf8mb4
创建用户,授权,删除用户,删除授权
> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
> GRANT ALL PRIVILEGES ON mydb.* TO 'monty'@'localhost';
> FLUSH PRIVILEGES;
> quit
@
后面接地址,可以是IP地址,也可以是 %
代表所有地址,也可以是 localhost
代表本地。
删除用户之后,授权会被一起删掉:
> DROP USER dbadmin@localhost;
查看授权:
> SHOW GRANTS FOR rfc@localhost;
如果只想删除授权的话:
> REVOKE INSERT, UPDATE ON classicmodels.* FROM rfc@localhost;
更改密码
> ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
> FLUSH PRIVILEGES;
设置root密码
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
否则会一直报错 ERROR 1698 (28000): Access denied for user 'root'@'localhost'
。这样修改之后,在本地连接才能使用密码。
备份
我本地的MySQL有一个cronjob每天进行备份:
@daily /usr/bin/mysqldump --single-transaction --quick --lock-tables=true --all-databases | gzip -c > /backup/mysql-$(date +\%F).sql.gz
参考资料:
- https://wiki.archlinux.org/index.php/MariaDB#Using_UTF8MB4
- https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- 用peewee代替SQLAlchemy
- frp 源码阅读与分析(一):流程和概念
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程