MySQL 扫雷

MySQL 5.5.25

1. //MySQL Command Line Client 一闪而过

解决方法:选择MySQL x.x Command Line Client的快捷方法-右键属性- 检查目标项,my.ini位置是否正确,并将将“-u root” "-p"改成“-u root -p”.

2.//windows日志中总是出现"IP address could not be resolved"的警告.

在 MySql Server 的配置文件 My.ini 中,增加如下两行:
    [mysqld]
    skip-name-resolve
    它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。但是,这样会引起一个问题:连接mysql时,不能使用 localhost连接了,而是要使用IP(127.0.0.1)地址的;如果是按localhost对用户赋权限的话,用户登录权限也要修改一下的

3.//Access denied for user 'root'@'localhost' (using password: NO)[在MySQL Workbench中账户可用,而在java web程序中就报错]

解决方法:在MySQL Workbench或命令行运行:

update mysql.user set password=PASSWORD('您要设置的新密码') where User='root'; 
flush privileges; (刷新权限表,目的是为了让上一句确实生效)

4.//Access denied for user 'root'@'localhost' (using password: YES)

解决方法:权限问题,查看" SELECT user,host,password from mysql.user;"是否有对应权限;具体方法就是你在改root密码的时候再加上一句给权限的语句]:grant all on mysql.* to 'root'@'localhost' identified by '密码';或直接新建一个对应的账号一般均为'root'@'%'

5.//mysql 远程连接失败

MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接.

查看/etc/mysql/my.cnf找到bind-address才发现配置的是 127.0.0.1(bind-address=127.0.0.1),直接改为bind-address=192.168.0.xxx(本机ip)或直接注释,然后再查看3306端口打开否,ok,可以正常连接了;多个bind-address参数时,仅最后一个参数生效;去掉bind-address时会绑定本机上所有的IP地址上.

6.//sql语句中字段包含多个引号提交时会又多出一个引号

比如update user set Password=password('123456') where User='mysql'@'localhost',可以加双引号解决User="'mysql'@'localhost'"
7.//MySQL命令行分号无法结束

加一个 ';(单引号和分号),即可执行sql

8.//host is not allowed to connect to this mysql server

A.改表法:可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql> flush privileges;
mysql>select host, user from user;

B.(推荐)授权法:

1.myuser使用mypassword从任何主机连接到mysql服务器

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

2.允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

3.允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;

9.//mariadb安装错误:mariadb-server : Depends: mariadb-server-5.5 but it is not going to be installed

https://mariadb.com/kb/en/installing-mariadb-deb-files/,推荐使用其中的第三种方法.

你可能感兴趣的:(mysql,IP,Address,could,Resolved,be,not)