deepin系统中,默认的系统源,使用apt-get install mysql-server会自动拉取mysql的分支海狮DB,然后无法安装成功mysql5.7正确的版本,LZ在这里也是几经波折,实践了几次(其中包括了deb包安装,apt-get安装,压缩包源码安装,但是效果都不尽人意),最后发现只需要更换系统的apt源即可。
1.卸载
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
2.换源
进入etc/apt/目录中,备份sources.list文件(具体备份命令,请自行百度,LZ这里使用的是直接复制一个文件出来,更改名字)。
执行命令,修改文件内容:
sudo vim /etc/apt/sources.list
#删除内容,并添加以下内容:
## Generated by deepin-installer
deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin panda main contrib non-free
wq保存文件,退出,执行sudo apt-get update和sudo apt-get upgrade命令。
操作完成,更换源成功。
3.安装mysql-5.7并修改密码
sudo apt-get install mysql-server mysql-client
sudo cat /etc/mysql/debian.cnf
Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
#用户名密码
user = debian-sys-maint
password = VPgo7lfDrISsIP9u
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = VPgo7lfDrISsIP9u
socket = /var/run/mysqld/mysqld.sock
> mysql -u debian-sys-maint -p VPgo7lfDrISsIP9u
> use mysql;
> update user set plugin="mysql_native_password",authentication_string=password('root') where user="root";
> FLUSH PRIVILEGES;
4.修改mysql中字符编码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 在mysqld节点,添加以下:
character-set-server = utf8
重启mysql服务:
sudo systemctl restart mysql.service
查看当前字符集
show variables like 'char%';
得到以下结果:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
修改成功。