方案一:
在安装mysql的机器上运行:
1:创建用户User
复制代码如下:
创建由“123456”[br/]标识的用户演示
2、
复制代码代码如下:
MySQL >授予山东所有权限。*要'演示' @'% ',请使用Grant Option
/授予任何主机访问数据的权限,或者您可以执行以下操作
授予山东上的所有权限。*用' 123456 '来'演示' @'% '所标识的。
3、
复制代码代码如下:
MySQL >刷新权限
/修改生效
4、
复制代码代码如下:
Mysql>EXIT
//退出Mysql服务器,这样就可以在任何其他主机上以demo的身份登录
。
引用
另外,当用客户端连接 mysql 时,发现无法连接,看来需要对用户进行重新授权。操作如下:
[root@cicro108 mysql]# bin/mysql -uroot -p -h 127.0.0.1 -A cws3
Enter password:
Welcome to the MySQL monitor. Commands end with or /g.
Your MySQL connection id is 1863 to server version: 4.1.20-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> grant ALL PRIVILEGES ON *.* to root@"%" identified by "mysql" ;
Query OK, 0 rows affected (0.17 sec)
发现这样更改权限以后,远程仍然不能连接,但是用下面的操作就可以了。
mysql> grant ALL PRIVILEGES ON *.* to root@"%" identified by "mysql" WITH GRANT OPTION;
Query OK, 0 rows affected (0.17 sec)
此刻, root 可以被远程连接,当然这里建立其他非 root 用户也可以远程连接。
方案二:
MySQL 1130错误解决方法:
通过MySQL-Front或MySQL administrator连接MySQL的时候发生的这个错误
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 MySQL 数据库里的 user表里的 host项
把localhost改称%
具体步骤:登陆到MySQL
首先 use MySQL;
按照别人提供的方式update的时候,出现错误。
MySQL> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下数据库的host信息如下:
MySQL> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:
复制代码代码如下:
MySQL >刷新权限;
再次连接MySQL管理员...成功!!
——万恶之分界线。
错误2003 (HY00
原因是MySQL考虑到了安全性,默认配置只允许本地登录。
打开文件/etc/mysql/my.cnf,找到bind-address = 127.0.0.1,修改为bind-address = 0.0.0.0。
重启MySQL:sudo/etc/init . d/MySQL restart。
再次连接,出现错误1045。
错误1045 (28000):用户“test”@“x . x . x”(使用密码:否)的访问被拒绝
答:原因是登录用户名没有被授予登录远程主机的权限。另一种可能是你需要重设密码...可能是授权操作造成了这个后遗症。..
以root身份本地登录:mysql -u root -p p。
修改MySQL数据库中用户表中对应用户名的主机字段,将localhost改为%。
使用mysql
更新用户集Host = '% ',其中User = ' username
为此设置权限需要ROOT用户登录。可惜我记不住ROOT密码了。
检索ROOT密码并设置远程登录。
mysqld _ safe-skip-grant-tables &
根目录
mysql >更新用户设置Password=PASSWORD('newpassword '),其中USER = ' root
mysql >刷新权限;
set ROOT remote connection update user set host =“%”其中user =“ROOT”;
如果看进程,可以看到MYSQLD_SAFE和MYSQL进程。这个时候可以正常使用MYSQL,但是看参数的话可以看到-skip-grant-tab。
输入mysqld_safe命令行,立即输入mysql -u root mysql,没有任何错误..或者打开一个新窗口。
1062执行更新时出错。
错误1062 (23000):关键字“PRIMARY”的重复条目“%-root”
如果在执行update语句时出现错误1062 (23000):键“primary”的重复条目“%-ROOT”,则意味着在用户表中记录了多个根用户。
从需要user =“root”的用户中选择主机;
检查主机是否已经有%的此& # 20540;,就吃吧。
mysql> select host,user from user其中user = ' root
+- +- +
|主机|用户|
+- +- +
| % |根|
| 127.0.0.1 |根|
| ::1 |根|
| localhost.localdomain | root |
然后以ROOT用户身份登录,更改用户帐户的远程连接权限。出现提示:错误1044 (42000):拒绝用户“@”localhost访问数据库“MySQL”。
错误1044 (42000):拒绝用户“@”localhost访问数据库“mysql”.
是因为mysql数据库的用户表中有一个用户名为空的匿名账户,导致登录时虽然使用了root,但实际上是匿名的,通过错误提示中的' @'localhost '可以看出来,所以看解决方案。
先关闭MYSQL进程。..
然后
# mysqld_safe - skip-grant-table
屏幕出现:从开始演示。.....
记住这一点,然后输入。
# mysql -u root mysql
mysql >从用户处删除,其中用户=“”;
mysql >刷新权限;
如果从开始演示..出现,先输入其他命令,然后使用mysql -u root mysql。它将再次得到这个错误。
然后杀死MYSQL进程,重启正常进程。..
设置用户的远程主机连接权限
更新用户集host = ' % ' where user = ' fanzkcom _ fanzk ';
刷新权限;
但是在实际连接中,虽然可以连接,但是没有权限去库。
接下来必须设置权限。
设置用户和库权限
授予fanzkcom_fanzk上的所有权限。*对fanzkcom_fanzk@'% '用' 1234 '标识;
刷新权限;
百分号两边应该有单引号,否则语法错误。
然后连接的时候提示1045不对。想了半天,还是重设了密码,试了一下。
更新MySQL . User set password = password(' XXX '),其中User="fanzkcom_fanzk "
刷新权限;
adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!