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/,推荐使用其中的第三种方法.