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%';