MySQL相关操作(备份恢复、授权用户权限、修改密码等)

零、所用环境

Ubuntu

MySQL5.7

一、导出数据库(备份)

1. 导出表结构+数据

mysqldump -h 127.0.0.1 -u root -p database_name > /path/filename.sql

2. 导出表结构

mysqldump -h 127.0.0.1 -u root -p -d --add-drop-table database_name > /path/filename.sql

二、恢复数据库

use database_name;

source /path/filename.sql;

三、新建用户并授予权限

create user 'username'@'%' identified by 'password';

grant all on *.* to 'username'@'%';

flush privileges;

无法远程连接数据库解决方法:

1. 开放3306端口

2. 修改mysqld.cnf文件

四、修改密码(忘记密码)

1. 修改mysqld.cnf

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 [mysqld] 段,加入"skip-grant-tables"

mysqld.cnf

2. 重启数据库服务

sudo service mysql restart

3. 进入数据库,密码为空

mysql -u root -p

4. 在mysql中修改用户密码

5. 回到mysqld.cnf注释"skip-grant-tables",确保"bind-address = 127.0.0.1"未被注释

注:对类似如下报错亦适用

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO)

参照https://cloud.tencent.com/developer/article/1165127

你可能感兴趣的:(MySQL相关操作(备份恢复、授权用户权限、修改密码等))