This is an old revision of the document!
# 常用操作
## 创建用户
```sql create user '<username>'@'%' identified by '<password>'; ```
## 创建数据库
```sql create database <database_name>; ```
## 用户授权
```sql -- 授予所有数据库的所有权限 grant all privileges on *.* to '<username>'@'%'; -- 授予单个数据库的所有权限 grant all privileges on <database_name>.* to '<username'@'%'; ```
# MySQL常用脚本
## 数据脱敏(录入批量修改手机号码后四位)
```sql update `member` set phone = replace(phone, SUBSTRING(phone, -4), LPAD(FLOOR(RAND() * 10000), 4, '0')); --replace函数用于做字符串替换 --substring函数用于获取字符串/字段部分内容 --lpad函数用于左侧自动补全 --floor函数用于向下取整 --rand函数用于生成随机数(生成结果是在0到1之间的小数) ```
# MySQL备份与恢复
[参考资料](http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/)
## 备份
```bash mysqldump -u <username> -p[password] <database_name> > dumpfilename.sql ```
## 恢复
```bash mysql -u <username> -p[password] <database_name> < dumpfilename.sql ```
# 常见问题与解决方案
## 远程连接数据库提示111 Connection refused.
需要修改mysql配置文件,注释掉bind-server=127.0.0.1启用远程连接。Ubuntu下,MySQL配置文件路径`/etc/mysql/mysql.conf.d/mysqld.cnf`,MariaDB配置文件路径`/etc/mysql/mariadb.conf.d/50-server.cnf`