MySQL登录汇总
--MySQL登录汇总
--------------------2014/5/17 1. ERROR 1045错误
ERROR 1045 (28000): Access denied for user 'jack'@'localhost' (using password: YES)
排除密码错误,mysql出现这样的错误可以这样解决: 1. 以root用户登录
2. use mysql;
3. select c.user,c.host,c.password from user c
4. 看到 jack用户的host上是否是"%"与'localhost'都有密码设置。
如果是%,只能远程登录 ,不能用localhost登录
如果是'localhost'只能本机登录,不能远程登录
有时候我们就是只给了%权限,没有给localhost权限。
5. 使用下面语句重新赋予权限。
grant all privileges on *.* to 'jack'@'%' [ identified by 'newpwd' ] [ with grant option ];
grant all privileges on *.* to 'jack'@'localhost' [identified by 'newpwd' ] [ with grant option ];
6. 最后flush privileges;
二. mysql 只允许本地登录(tcp/ip or sock)
今天弄了下mysql的几个安全设置: 只允许本地登录,允许ssh通过远程登录 1.my.cnf
#skip-networking
bind-address = 127.0.0.1
此项设置允许 tcp/ip 访问,但是只有127.0.0.1 有可以访问,如果把skip-networking 开启。则只能通过sock连接。
顺便提下,
mysql -h localhost -u eric -p saker
mysql -h 127.0.0.1 -u eric -p saker
这两个命令在skip-networking 开启的时候localhost能正常登录mysql,但是127.0.0.1不能。具体原因如下:
大多数程序将主机名localhost和IP地址127.0.0.1 视作“本地服务器”的同义词。
但在UNIX系统中,MySQL 有所不同:
出现localhost时,MySQL会尝试使用一个Unix domain socket 文件来连接本地服务器。
要强制使用TCP/IP连接到本地服务器,那就使用IP地址 127.0.0.1 而不是主机名localhost。
可以通过指定 --protocol=tcp 选项来强制使用TCP/IP进行连接
TCP/IP 连接的默认端口号是 3306.
2.mysql 设置好了,只允许本地登录。但是允许通过ssh远程登录
原理:无论是windows还是 linux,第一步就是本地与mysql服务器建立一个ssl tunnel,
利用ssh命令在本机开个33xx的端口,这个端口为隧道的入口端口,出口就是数据库的3306(如果默认端口没被修改的话),
linux如下:
ssh -NCPf root@localaddress -L 3388:mysqlserver:3306
参数解释
-C 使用压缩功能,是可选的,加快速度。
-P 用一个非特权端口进行出去的连接。
-f 一旦SSH完成认证并建立port forwarding,则转入后台运行。
-N 不执行远程命令。该参数在只打开转发端口时很有用(V2版本SSH支持)
1)如果是windows 下用navicat for mysql 之类的数据库管理软件,比较简单,
在"常规"选项卡填写主机名为localhost或127.0.0.1,远程数据库的账号和密码
"SSH"选项卡填写远程服务器的主机名和ssh端口号,及登录的用户和密码,测试连接是否成功
2)windows 暂时没找出类似
ssh -NCPf root@localaddress -L 3388:mysqlserver:3306
命令安静模式下建立ssh tunnel。 我用了putty试了下。连接可以成功。呆后续研究 3.mysql 主从备份使用ssh tunnel,下面摘自别人文章。
1). 备份初始数据。关闭所有相关的数据更新操作程序,或者对要备份的数据库加锁,避免更新,然后用 tar 备份到从服务器上。或者可以用mysqlhotcopy。2). 需要在主服务器上,配置日志功能这需要重启服务,使其启用日志功能。配置文件 my.cnf 可以放在 mysql 的安装目录中。
[mysqld]
server-id=1
log-bin=mydb-bin
binlog-do-db=mydb 重启服务后,可以在数据目录下,看见该数据库的日志文件,并且可以通过 "show master status",查看到主服务器的状态。3). 设置备用用户mysql>GRANT REPLICATION SLAVE ON *.* TO backup@'localhost' IDENTIFIED BY 'backup';这里之所以用本地连接,是因为后面采用 ssh 隧道连接 mysql4). 设置从服务器[mysqld]
server-id=2
master-host=127.0.0.1
master-port=3307
master-user=backup
master-password=backup
master-connect-retry=10
report-host=127.0.0.1 5). 远程连接隧道ssh -f -N -4 -L 3307:127.0.0.1:3306 mysqlm@remotemysql 6). 启动从服务器可以通过 "show processlist",查看备份情况。并且可以查看mysql的错误日志,了解是否连接正常,同步备份功能是否工作正常。
三. mysql socket连接比tcp连接方式更快 mysql有两种连接方式,常用的一般是tcp
- mysql -h(ip) -uroot -pxxx #常用的
- mysql -S /tmp/mysqld.sock
mysql 采用unix socket连接方式,比用tcp的方式更快,但只适用于mysql和应用同在一台PC上。如果不在同一台pc上,就没有办法连接了。而且我们可以把socket文件放在/dev/shm (内存)。/etc/mysql/my.cnf里面应该可以看到sock的配置条目,如果你跟我一样,是debian linux,注意要修改/etc/mysql/my.cnf和/etc/mysql/debian.cnf里面的配置。
- socket = /dev/shm/mysqld.sock
以下是来自mysql官方手册的一段话:
http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html
http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html
A MySQL client on Unix can connect to the mysqld server in two different ways: By using a Unix socket file to connect through a file in the file system (default /tmp/mysql.sock), or by using TCP/IP, which connects through a port number. A Unix socket file connection is faster than TCP/IP, but can be used only when connecting to a server on the same computer. A Unix socket file is used if you don’t specify a host name or if you specify the special host name loc -alhost.
MySQL登录汇总的更多相关文章
- Mysql查询优化汇总 order by优化例子,group by优化例子,limit优化例子,优化建议
Mysql查询优化汇总 order by优化例子,group by优化例子,limit优化例子,优化建议 索引 索引是一种存储引擎快速查询记录的一种数据结构. 注意 MYSQL一次查询只能使用一个索引 ...
- mysql 登录及常用命令
一.mysql服务的启动和停止 mysql> net stop mysql mysql> net start mysql 二.登陆mysql mysql> 语法如下: mysql - ...
- MySQL笔记汇总
[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...
- mysql登录错误或者密码错误
一.mysql登录错误 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root ...
- 【MySQL案件】mysql登录-S失败
1.1.1. mysql登录mysql时间,-S参数失效 [环境的叙述性说明] mysql5.5.14 [问题叙述性说明] 配置多个实例 实例1 实例2 datadir /home/mysql_330 ...
- mysql登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问 对于出现拒绝访问root用户的解决方案错 ...
- 【转载】在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码
在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码 2018年08月 ...
- MYSQL登录错误:mysqladmin: connect to server at ‘localhost’ failed
一.mysql登录错误 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user ...
- MySQL登录问题1045 (28000)处理步骤【原创】
MySQL登录问题1045 (28000) 俩台服务器主从复制,从的同步账号无法远程登录主服务器.报错ERROR 1045 (28000): Access denied for user 'root ...
随机推荐
- 如何使用slice,substr代替substring(原创)
//写这个是为了加深对substring和slice的理解 substring: 任何一个参数小于0,都会被替换成0.两个参数,最小值会被当做start,最大值当做end. 参数 描述 start 必 ...
- Struts2请求参数合法性校验机制
在Action中通过代码执行数据校验 请求参数的输入校验途径一般分两种:客户端校验 :通过JavaScript 完成 (jquery validation插件),目的:过滤正常用户的误操作. 服务器校 ...
- Host 'hello-PC' is not allowed to connect to this MySQL server远程连接mysql授权
问题:"Host 'admin-PC' is not allowed to connect to this MySQLserver" (其中,admin-PC为我的机器名) 原 ...
- java编译出错信息汇总(更新)
1. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 原因:缺包mysql-connector-java-5.1.7-bin.jar 2 ...
- Java xml 解析
1. XML框架结构 Java SE 6 平台提供的 XML 处理主要包括两个功能:XML 处理(JAXP,Java Architecture XML Processing)和 XML 绑定(JAXB ...
- Oracle数据迁移笔记-Rownum与序列的自增长的组合用法技巧
Rownum与序列的自增长的组合用法技巧 根据序列自增长的步长规律,结合表行记录Rownum值的规则批量生成表的行记录主键的用法技巧 案例如下: CREATE OR REPLACE PROCEDURE ...
- Jersey +jetty 实现微服务(一)
微服务: 传输协议基本都是http,数据序列化,协议层目前protocol buffer,Json, xml,Java序列化,最多使用Json.实现以上二点并不难,spring 就可以,但spr ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- hbase集群导入csv文件
小数据文件导入: 样例 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," ...
- HTML中重要的知识点,表单
今天跟大家分享一下有关HTML中比较重要的一个知识点-表单: <form></form>表单 这是一个双标签,form表单有两个必须要有的属性,①action就是指表单传递到的 ...