1. 创建用户
create user 'jack'@'%' identified with mysql_native_password by 'jack123';
jack表示用户名,%表示不限制ip访问(如换成localhost,只能本地访问;或127.0.0.1,只能127.0.0.1的用户jack才能访问),jack123表示密码,with mysql_native_password通过此命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
如果不修改加密规则,当使用navicat连接数据库时,会提示以下错误。
查看mysql库下user表,可以看到创建用户的默认plugin是caching_sha2_password
只有为mysql_native_password时,才能使用navicat正常连接。
修改加密方式
ALTER USER 'jack'@'%' IDENTIFIED with mysql_native_password BY 'jack123';
2.赋权限
grant all privileges on database_name.* to 'jack'@'%' with grant option;
database_name表示jack用户下名为database_name的库,*表示database_name下的所有表。举例:
grant select,insert on *.* to 'jack'@'%' with grant option;
对用户jack下的所有库的所有表赋查询和新增权限。
刷新权限
flush privileges;
3.设置密码永不过期
ALTER USER 'jack'@'%' IDENTIFIED BY 'jack123' PASSWORD EXPIRE NEVER;
flush privileges;
4. 导出
/usr/local/mysql/bin/mysqldump -ujack -p -R dbtest > /data/mysql_datas.sql
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
/usr/local/mysql/bin为mysql安装目录。执行此命令后,输入密码即可。
-R(–routines)表示导出存储过程以及自定义函数。
5. 导入
mysql -ujack -p dbtest < /data/mysql_datas.sql
mysql -u用户名 -p 数据库名 < 导入的文件名