数据库乱码
登录数据库
mysql -u root -p
查看数据库编码
show variables like 'character%';
如以上编码格式不一致,将导致乱码
格式保持一致,修改内容个如下
解决办法:
修改/etc/my.cnf,使得编码
在/etc/my.cnf 增加一下几行
在[mysqld]
init_connect='SET NAMES utf8'
character_set_server = utf8
在[mysql]
default-character-set = utf8
远程无法登录mysql
出现1024 cannot get hostname for your address
解决办法:
编辑/etc/my.cnf,在:
[mysqld]
内添加一行:skip-name-resolve
出现1045 access denied
解决办法:
方法一:该表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"mysql -u root -pvmwaremysql>use mysql;mysql>update user set host= '%' where user = 'root';mysql>select host, user from user;然后记得刷新数据库,
-------------------------------------------------------------------------------
mysql>use mysql
mysql>update user set host= '%' where user = 'root';
此时如果提示报错,不用管,继续往下走
select host, user from user;
mysql>flush privileges; -- * 这一句是刷新刚才的内容 *一定要刷新,因为操作的是系统授权表。。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
-------------------------------------------------------------------------------
方法二:授权法:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;