Mysql 相关操作
2024-09-26 18:36:20

数据库备份与恢复

备份

mysqldump -u username -p database_name > /path/to/backup.sql

导入

mysql -u username -p database_name < /path/to/backup.sql

# 使用pv显示进度
sudo apt-get install pv
pv /path/to/backup.sql | mysql -u username -p database_name

用户

账户

$ mysql -u root -p
$ mysql > use mysql;

# 创建一个账户
$ mysql > CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

# 修改密码
$ mysql > ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

$ mysql > FLUSH PRIVILEGES;

添加权限

# 授予所有数据库读写权限:
$ mysql > GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

# 授予某个数据库的读写权限:
$ mysql > GRANT ALL PRIVILEGES ON `<数据库名>`.* TO 'username'@'localhost';

# 授予某个数据库的某个表的读写权限:
$ mysql > GRANT ALL PRIVILEGES ON `<数据库名>`.`<表名>` TO 'username'@'localhost';

# 授予某个数据库的只读权限:
$ mysql > GRANT SELECT ON database.* TO 'username'@'localhost';

# 授予某个数据库某个表的只读权限:
$ mysql > GRANT SELECT ON `<数据库名>`.`<表名>` TO 'username'@'localhost';

# 授予 PROCESS 权限
$ mysql > GRANT PROCESS ON *.* TO 'username'@'localhost';

移除权限

# 移除某个数据库的只读权限:
$ mysql > REVOKE SELECT ON `<数据库名>`.`<表名>` FROM 'username'@'localhost';

# 移除某个账号某个数据库的所有权限
$ mysql > REVOKE ALL PRIVILEGES ON sge_data_engine_app.* FROM 'username'@'localhost';