MySQL数据库远程连接、创建新用户、设置权限、更改用户密码 |
您所在的位置:网站首页 › 数据库权限表命名怎么设置 › MySQL数据库远程连接、创建新用户、设置权限、更改用户密码 |
上篇文章我们写了在服务器上安装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: 可以尝试,插入数据,然后从服务器看,是否有了数据,嗯哼! 插入数据后,可以从服务器看看是否真的提交数据更改了: 好啦,此篇教程就到此为止啦,后续会有详细的具体应用到实际项目中的数据库应用,哈哈,文采不行,看不懂的就将就吧哈哈哈,也可以留言,虽然我不一定会看,哈哈哈哈哈哈。。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |