mysql远程登陆和本地登陆的一些问题
来源:互联网 发布:星海牌萨克斯淘宝网 编辑:程序博客网 时间:2024/05/20 14:28
远程访问
mysql不允许远程用户访问主机服务器 1130
安装完之后成 使用 mysql admin连接报错
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>flush privileges;
再用mysql administrator连接...成功!!!
本地访问
[root@localhost mysql]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YES)
这个问题,网上找了很多,但是都不是我的情况,我的root密码是正确的,也通过/etc/my.cnf下的[mysqld]中,末尾添加skip-grant-tables,先取消账号验证,然后进入mysql进行修改密码
update user set password=PASSWORD("123456") whereuser='root';
进行了密码修改,再次尝试也不行。
归根结底不是因为的账号密码的问题,而是我之前通过打开了远程登录的,不知道造成了什么样的影响,我查看了hostname是localhost.localdomain,查看了/ect/hosts文件中,
127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4
这也是对的,
再次进入mysql的user表中,查看root用户的host到底是什么,
+-----------------------+------+
| host |user |
+-----------------------+------+
| % |root |
| 127.0.0.1 |root |
| ::1 |root |
| localhost.localdomain | root |
+-----------------------+------+
在这里却没有发现有localhost,只有localhost.localdomain,但是我在终端显示的登录是[root@localhostmysql]#,这里显示的host是localhost,难怪使用mysql–u root –p的时候登录不了,因为使用-hIP的话是采用本地host进行登录的,而user表中没有的对应项,所以出现了错误,我尝试用
mysql –u root –p –h 127.0.0.1进行登录,因为127.0.0.1是在user表中存在的,果然,登录成功了。
找到原因之后,这接下去就是在user表中添加root的localhost就可以了,参照网上的代码,
http://blog.itpub.net/15480802/viewspace-687057/
insert into user(host,user,password)values('%','root',password('my_passsword'));
但是在这里我又遇到了错误
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a defaultvalue,
看网上的意思,就是要修改my.cnf中的配置,但是我采用了第二种办法,
grant all privileges on *.* to root@"localhost";
+-----------------------+------+
| host |user |
+-----------------------+------+
| % |root |
| 127.0.0.1 |root |
| ::1 |root |
| localhost | root |
| localhost.localdomain | root |
+-----------------------+------+
添加进去了,但是在用localhost进行登录的时候,又发现了,当初在插入这个host的时候,没有对root用户进行指定密码,所以不用密码就可以进入了,但是这个不是我希望的,
mysql> update user set password=password("password")where user='root';
mysql> flush privileges;
其实可以在插入host的时候,直接加上密码项就可以了,网上的那个语句不是很完整,改进之后
grant all privileges on *.* to root@"localhost" identified by ‘password′
http://www.3lian.com/edu/2013/08-10/88447.html
- mysql远程登陆和本地登陆的一些问题
- 解决mysql本地登陆可以,远程登陆不行的问题
- 本地登陆VS远程登陆
- MySQL命令行登陆,远程登陆MySQL
- MySQL命令行登陆,远程登陆MySQL
- MySQL命令行登陆,远程登陆MySQL
- MySQL命令行登陆,远程登陆MySQL
- mysql远程登陆权限问题汇总,%和localhost
- 解决mysql不能远程登陆的问题
- Mysql 本地登陆和密码登陆
- mysql的远程登陆设置
- 开启 MySQL 的远程登陆
- 关于远程登陆的问题
- ubuntu 和 win7 远程登陆 + vnc登陆
- mysql root密码和远程登陆
- 打开MySQL远程登陆的功能
- win7 的telnet远程登陆问题
- mysql远程可登录,本地无法登陆问题
- 浅谈new操作符
- C语言强化(七)链表相交问题_5 找到两个有环链表的相交结点
- 前端工程师应该具备的三种思维
- 配置cordova-android
- 提高JQuery性能
- mysql远程登陆和本地登陆的一些问题
- Samba CVE-2015-0240 远程代码执行漏洞利用实践
- NYOJ1032 【Save Princess】
- ubuntu12.04下建立eclipse的android开发环境相关问题
- HTML5 - html5标签的变化
- Linux系统内核概要总结
- 中国专利申请CPC客户端软件问题解决方案
- MD5 密码加密的问题
- 织梦cms在本地测试完后织如何迁移