deepinV20安装MySQL,解决账户登录与中文字符编码问题

主要内容:

解决默认deepin镜像安装MySQL失败的问题;

解决修改 /etc/mysql/mysql.conf.d/mysqld.cnf 追加 character-set-server=utf8无效的问题

1、 更改默认源

sudo vim /etc/apt/sources.list

注释掉deepin的源,这里我更改为清华的。

deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin panda main contrib non-free

然后更新源

sudo apt-get update
sudo apt-get upgrade

2、安装MySQL

sudo apt-get install mysql-server mysql-client

3、 查看可登陆账户并修改root密码

清华源apt-get安装后登录账号在/etc/mysql/debian.cnf里

sudo cat /etc/mysql/debian.cnf

根据查看的结果,登录mysql

mysql -u username(上一步看到的用户名) -p

之后依次进入mysql数据库,修改root密码,刷新缓存。之后就可以exit退出使用root账户登录了:

use mysql;
update user set plugin="mysql_native_password",authentication_string=password('新密码') where user="root";
FLUSH PRIVILEGES;

4、中文字符问题

这里有很多帖子博客说,直接

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

但这是不准确的,可能对,也可能不对。因为自己本地MySQL的的配置文件路径可能就不在 /etc/mysql/mysql.conf.d 下。

万能的做法是,查看本地配置文件路径:

mysql --help | grep 'Default options' -A 1

然后用 cat 命令查看配置文件中的内容,找到配置文件的地址。

比如可以发现我的默认路径是 /etc/mysql/conf.d/*.cnf,然后在该路径下mysql.conf插入字符集设置即可。

具体是:若有[mysqld]节点,则直接在下面追加 character-set-server=utf8

如无[mysqld]节点,则先加上[mysqld],然后在下面追加 character-set-server=utf8

 

最后登入mysql,查看当前字符集以判断修改是否成功:

SHOW VARIABLES LIKE 'char%';

原文地址:https://www.cnblogs.com/lugf/p/12743100.html