我解决的时候,网上很多方法就不可以,不过方法五可以哦:
方法一、修改字符集编码
my.cnf
的default-character-set=utf8、character_server_set=utf8、collation-server=utf8_general_ci
。修改后重启MySQL服务,仍然不能输入英文。
方法二、在MySQL客户端里面,set names utf8
,仍然不行
方法三、修改LANG变量的值。在/etc/sysconfig/xxx
设置LANG="en_US.UTF-8"
,仍然不行
方法四:在终端输入locale
如果你的也是这样显示的就果断放弃吧
如果不是的话可以进行下一步
vim /etc/profile
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
source /etc/profile
方法五:(我的是这样解决的)
更换mysql/bin/mysql
把bin目录下的mysql换为其他的mysql目录下bin目录下的mysql
1.进入到你的mysql中bin目录下:
cd /usr/local/mysql/bin(ps:能够输入中文的mysql的bin的mysql哦)
2.下载到本地:
sz mysql
3.备份:
mv mysql mysql
4.使用scp命令把这个mysql上传到
scp -r C:\Users\zyw23\Desktop\fsdownload\mysql root@192.168.10.22: /data/download
(ps:修改为你自己的路径,我这里没有直接上传到目的地,因为我尝试的时候失败了,按理说应该是可以的,然后我进行了下一步,如果你的成功了就不用执行5了)
5.将上传的mysql移动到mysql目录下的bin目录下
cd /data
mv mysql /usr/local/mysql/bin
6.修改mysql权限
ps:不去修改之前是上边图片这个样子
chown mysql:mysql mysql
chmod +x /usr/local/mysql/bin/mysql
7. 重启服务
sudo systemctl restart mysql
8.登录
mysql -uroot -p
输入密码:
9.可能会报错(没有的略过):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
此时检查mysql服务开启了没:systemctl status mysql
开了就有可能使你的socket文件位置变了
那就编写配置文件
vi /etc/my.cnf
如果你不知道你的socket在哪里你可以使用以下命令:
find / -name '*.sock'
找到以后根据文件内容修改就可以了