ECS系统版本:Ubuntu 20.04 64位
MYSQL版本:MySQL8.0.22
参考:https://blog.csdn.net/weixin_43531643/article/details/106308086
1、查看mysql的依赖项,后面需要删除原有的文件,以免重新安装的过程中出错:
dpkg --list|grep mysql
2、删除原有的mysql相关项:
sudo apt-get --purge remove mysql-server mysql-common mysql-client
#上面查到的依赖项全部都remove
3、安装mysql:
sudo apt-get install mysql-server mysql-common mysql-client
4、启动mysql:
sudo /etc/init.d/mysql restart
5、设置utf8:
sudo vi /etc/mysql/my.cnf
#路径应该都是一致的,可以cd到对应路径下看看
#在文件最后加入以下代码
[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
#然后保存(esc + “:wq” + 回车)
6、重启,设置root用户新密码:
#重启
service mysql restart
#进入mysql
sudo mysql -u root
#设置root用户密码,这里的with mysql_native_password是为了后面用Navicat链接的时候能成功
alter user'root'@'localhost' identified with mysql_native_password by 'newpassword';
#刷新权限
flush privileges;
7、Navicat远程链接ecs的mysql:
8、select * from操作的时候,可能会报下面的错误:
select @@sql_mode;
#获取字符串
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#去掉最开头的ONLY_FULL_GROUP_BY
#组成字符串
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
将字符串写进my.cnf文件里[mysqld]相关配置的末尾,我的文件路径是/etc/mysql/my.cnf