环境和工具
navicat
mysql
csv文件(演示用)
新建连接
使用navicat新建连接
连接名随便起一个
主机即需要连接的ip地址
数据账号密码后即可连接数据库
![](https://i-blog.csdnimg.cn/blog_migrate/875f351995b42ad2edb48e0be6640d9c.png)
新建数据库
右击连接名,选择新建数据库
设置数据库
库名自己起一个
字符集选择utf8mb4
utf8mb4才是我们意义上的utf-8,所以一般字符集就选择这个就行
排序规则选择utf8mb4_general_ci
![](https://i-blog.csdnimg.cn/blog_migrate/f0c454103344ba4af05fbba32c5e37af.png)
导入数据
右击表,选择导入向导
正常来讲,一直点下一步即可,最后点击开始
![](https://i-blog.csdnimg.cn/blog_migrate/7e0a3a7fe37230afddad1fd669a4ed87.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4010eba51aaa83977fa21ec47002be89.png)
报错解决
在导入数据时,数据错误会报错,并且可以查看日志
[ERR] 1406 - Data too long for column 'XXX' at row 1
解决方案,在导入向导导入数据时,找到对应表的'XXX'字段,将该字段的数据类型选择为longtext,长度从255改为0
![](https://i-blog.csdnimg.cn/blog_migrate/11641b86b5e89a79ceffa1957c58bb52.png)
其他报错方法可根据实际情况实际解决,一般用longtext(长文本),可以解决大多数问题
设置角色并赋权
进入数据库
mysql -u root -p
创建角色
create user test identified by 'a123'
创建角色test,密码为a123
赋权
语句
grant 权限 on 库名.表名 to '用户名'@'IP地址';
举例
grant select on abcd.kkkk to 'test'@'%';
赋予test用户在任何ip,对abcd库的kkkk表的查询权限,语句中select为查询权限,最后的%表示任意ip地址
增删改查四种语句
insert,delete,update,select
要赋予所有权限
grant all privileges on abcd.kkkk to 'test'@'%';
要赋予任何表
grant select on abcd.* to 'test'@'%';
要赋予任何库
grant select on *.* to 'test'@'%';
以此类推