一、查询并卸载旧的mysql(未安装可以直接跳过)
#查看MySQL的依赖项
dpkg --list|grep mysql
#关闭mysql服务
service mysql stop
#自动卸载mysql(包括server和client)
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
#删除mysql的数据文件
sudo rm /var/lib/mysql/ -R
#删除mysql的配置文件
sudo rm /etc/mysql/ -R
#清除残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
#查看MySQL的依赖项
dpkg --list|grep mysql
#如果还有,则继续删除相应依赖项,如:
sudo apt-get autoremove mysql-client --purge
二、安装mysql
#更新资源
sudo apt-get update
#安装mysql
sudo apt-get install mysql-server
#安装成功后,如未自动启动,则手动启动mysql
sudo service mysql start
初始化MySQL(非必要,可跳过)可参考 Centos 8 在线安装 MySQL 8 - 简书
#设置root密码
sudo mysql_secure_installation
如果root默认密码无法登录,出现以下错误:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
#解决方法 用以下命令查看默认账号,并用默认账号登录
sudo cat /etc/mysql/debian.cnf
#默认账号登录成功后,用以下命令修改root密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
至此,已基本完成,可以正常登录MySQL了
设置远程登录
#修改配置 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉配置里的下列两项
# bind-address = 127.0.0.1
# mysqlx-bind-address = 127.0.0.1#重启刷新配置 sudo service mysql restart
创建可以远程登录的用户
sudo mysql -u root -p CREATE USER 'eagle'@'%' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'eagle'@'%'; ALTER USER 'eagle'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
嫌密码太复杂的可以设置一下密码策略
修改密码策略(重启后失效,注意:未初始化MySQL,无需修改)
#查询密码策略 SHOW VARIABLES LIKE 'validate_password%'; #设置密码强度 set global validate_password.policy=LOW; #设置密码最小长度 set global validate_password.length=6;
Mysql免费客户端工具
1、Sequel Ace 小巧、Mac下使用
2、MySQL Workbench - 官方、功能全、跨平台
3、HeidiSQL - Win可以选用,就是略丑了点
4、DBeaver - 小巧、跨平台、多数据库 中文 社区
5、Beekeeper Studio - 小巧、跨平台、多数据库支持、支持SQLite
疑难杂症:
1、安装过程可能出现以下问题
#解决办法:删除apt相关配置文件 sudo rm -rf /etc/apt/apt.conf.d/20snapd.conf
2、启动过程如出现
su: warning: cannot change directory to/nonexistent: No such file or directory
#解决方法: sudo service mysql stop sudo usermod -d /var/lib/mysql/ mysql sudo service mysql start
参考: