前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL数据库远程连接、创建新用户、设置权限、更改用户密码

MySQL数据库远程连接、创建新用户、设置权限、更改用户密码

作者头像
浩Coding
发布2019-07-03 15:47:03
7K0
发布2019-07-03 15:47:03
举报
文章被收录于专栏:浩Coding浩Coding

上篇文章我们写了在服务器上安装MySQL,可以随时远程连接,我们这次讲如何创建一个新的用户,给予权限,并且实现远程连接!

1、新建用户 创建ssh用户,密码是ssh。localhost 就是本地连接,即127.0.0.1。

%用于远程连接,即任意ip都可以链接。

MySQL -u root -p CREATE USER 'ssh'@'localhost' IDENTIFIED BY 'ssh'; #本地登录 CREATE USER 'ssh'@'%' IDENTIFIED BY 'ssh'; #远程登录 quit 先退出,在测试 mysql -ussh -p #测试是否创建成功

更改用户密码:

方法1: 用SET PASSWORD命令

首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges;

2、为用户授权

a.授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码'; 

b.登录MYSQL,这里以ROOT身份登录:

mysql -u root -p

c.为用户创建一个数据库(test ):

create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

创建后用show databases;查看数据库:

d.授权ssh用户拥有test数据库的所有权限:

grant all privileges on `test`.* to 'ssh'@'localhost' identified by 'ssh'; grant all privileges on `test`.* to 'ssh'@'%' identified by 'ssh'; flush privileges; #刷新系统权限表 #授予用户在所有数据库上的所有权限 grant all privileges on *.* to 'ssh'@'localhost' identified by 'ssh'; grant all privileges on *.* to 'ssh'@'%' identified by 'ssh';

注意:MySQL中字符要求很严格,必须用英文小写字符!

如果新建用户不能创建数据库可以试试后两行权限赋予代码,

授予用户在所有数据库上的所有权限:

代码语言:javascript
复制
#授予用户在所有数据库上的所有权限
grant all privileges on *.* to 'ssh'@'localhost' identified by 'ssh'; 
grant all privileges on *.* to 'ssh'@'%' identified by 'ssh';
#查看用户本身权限
show grants;

3、删除用户

mysql -u root -p Delete FROM mysql.user Where User=”test” and Host=”localhost”; flush privileges; drop database testDB;

删除账户及权限:

drop user 用户名@’%’; drop user 用户名@ localhost;

附:有可能出现的问题:

使用以下命令行删除账户:

代码语言:sql
复制
delete from user where user='账户名';

出现:

代码语言:text
复制
 ERROR 1046 (3D000): No database selected 错误:没有选中数据库。

因为是直接使用 SQL 语句的方式来删除账户,所以必须先选择 mysql 自身的数据库:

代码语言:php
复制
use mysql;

好了,现在用ssh账户登陆,开始建表!

create table test(

test_id INT NOT NULL AUTO_INCREMENT,

test_date DATE,

PRIMARY KEY ( test_id )

);

好了,建表之后可以查看表:

这就很对,很nice了嘛,^_^,下面进入实战,用SQLyog远程连接试试!

各单位战斗人员请注意,这个时候需要用命令查看数据库所用端口,这个很重要哦,远程连接数据库时候需要的!而且前面咱们授权ssh账户远程登录时,一定要有成功授权提示哦!

代码语言:javascript
复制
show variables  like 'port';

并且,最重要的一点就是,一定要开放服务器的3306端口号,不然都被防火墙拦截了,哈哈哈哈。?!

好了,这个时候打开SQLyog开始测试:

1 。新建链接:

2 。填空:

3 。测试连接,点击右下角测试连接,如果可以连接,会有这个提示:

如果连接不成功:一看是否给了账户远程连接权限 。二看填空的选项是否都正确。三看服务器防火墙是否拦截了远程端口,哈哈哈O(∩_∩)O哈哈~。

4 。点击连接,看看我们的数据库,里面有我们新建的表test:

可以尝试,插入数据,然后从服务器看,是否有了数据,嗯哼!

插入数据后,可以从服务器看看是否真的提交数据更改了:

好啦,此篇教程就到此为止啦,后续会有详细的具体应用到实际项目中的数据库应用,哈哈,文采不行,看不懂的就将就吧哈哈哈,也可以留言,虽然我不一定会看,哈哈哈哈哈哈。。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩Coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档