上篇文章我们写了在服务器上安装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中字符要求很严格,必须用英文小写字符!

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

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

#授予用户在所有数据库上的所有权限
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;

附:有可能出现的问题:

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

delete from user where user='账户名';

出现:

ERROR 1046 (3D000): No database selected
 错误:没有选中数据库。

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

use mysql;

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

create table test(

test_id INT NOT NULL AUTO_INCREMENT,

test_date DATE,

PRIMARY KEY ( test_id )

);

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

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

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

show variables  like 'port';

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

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

1 .新建链接:

2.填空:

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

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

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

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

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

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

参考链接:

https://blog.csdn.net/piaocoder/article/details/53704126

https://blog.csdn.net/w690333243/article/details/76576952

来源:浩Coding

最后修改:2022 年 05 月 29 日
如果觉得我的文章对你有用,请随意赞赏