零、所用环境
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"
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)