Navicat for MySQL的使用
新建数据库
图形界面创建


命令行创建
create database `orders-dev` default character set utf8mb4 collate utf8mb4_general_ci;
如果创建时遇上ERROR 1064,表名使用了mysql的关键字,把表名用反引号号`括起来,或者不要使用mysql关键词做表名。

如果不指定字符集使用默认的字符集,可以在命令行用status命令查看
utf8mb3 -- UTF-8 Unicode

新建用户
图形界面创建
创建用户

授权


命令行创建
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
授权
GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION
此用户如果只给了查询权限,使用其他权限操作表会报错。

其他
撤销用户权限:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
删除用户: DROP USER 'username'@'host';
切换用户
新建连接

测试连接1251错误

出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
把mysql用户登录密码加密规则还原成mysql_native_password.
alter user 'username'@'localhost' identified by 'your-password' password expire never;(修改加密规则的这条命令可以不跑)
alter user 'username'@'localhost' identified with mysql_native_password by 'your-password';
flush privileges;

重新打开navicat,测试连接

新建数据表
图形界面创建
选择表—>新建—>添加栏位

导出新建表的sql语句:右击表名—>转储SQL文件—>结构和数据

-- ----------------------------
-- Table structure for profile_key
-- ----------------------------
DROP TABLE IF EXISTS `profile_key`;
CREATE TABLE `profile_key` (
`key_id` char(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`key_type` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密钥类型',
`key` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
`update_date` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP,
`autr` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`key_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ----------------------------
-- Records of profile_key
-- ----------------------------
命令行创建
查询—>新建查询
CREATE TABLE user_profile (
user_id varchar(20) not null,
user_name varchar(50) not null,
user_group varchar(10) not null,
create_date timestamp not null,
update_date timestamp not null,
key_id char(8) not null
);
alter table user_profile add primary key(user_id,user_name,user_group);
如果一个窗口有多条sql语句,运行某条特定sql时选择“运行已选择的”

参考:
https://www.jianshu.com/p/d7b9c468f20d

浙公网安备 33010602011771号