MySQL安装目录
一、卸载残留
1、查看MySQL的依赖项
dpkg --list|grep mysql
2、卸载
sudo apt-get remove mysql-common
3、卸载 (最后的版本数字根据自己具体的版本进行相应的修改)
sudo apt-get autoremove --purge mysql-server-5.7
4、清楚残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
5、再次查看依赖项
dpkg --list|grep mysql
若命令输入之后无反应直接出现命令提示符,则说明依赖项完全删除。
若仍有其他内容,则继续清除剩余依赖项:
sudo apt-get autoremove --purge mysql-apt-config
二、安装MySQL 8.0
1 、登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载。
https://dev.mysql.com/downloads/repo/apt/
2、下载该 deb 文件后,FTP上传到对应文件夹后 进入该文件夹,执行:
sudo dpkg -i 该deb文件名
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
3、方向键选mysql-8.0 并按enter键
再次方向键选择mysql-8.0 并按enter键
方向键选择ok 并按enter键
4、更新apt源
sudo apt-get update
5、正式安装MySQL 8.0
sudo apt install mysql-server
6、安装完后,会出现一个图形界面,会让你设置root密码,输入后按enter键,并再次确认。
7、MySQL8.0 采用了新的加密方式,与 Ubuntu18.04 有兼容问题,故选择下面的旧版本5.x的加密方式。
三、使用并配置MySQL 8.0
1、登录MySQL
mysql -uroot -p
输入设置的root密码即可
退出登录
exit
2、设置root 用户可以远程登录
2.1 查看权限表
mysql> use mysql;
mysql> select host, user, authentication_string, plugin from user;
可见是只运行本机访问的
2.2 将Host设置为通配符%
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置
update user set host = '%' where user ='root';
2.3 Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;
3、服务器设置开放3306 端口
sudo iptables -I INPUT -ptcp --dport 3306 -j ACCEPT
四、参考文章
1、ubuntu18.04安装mysql8.0详细教程及踩坑解决方法(包含删除Mysql5.7版本方法)
2、在Ubuntu 18.04 安装 MySQL 8.0
3、Host XXX is not allowed to connect to this MySQL server
4、windows下的mysql服务配置文件my.ini千万别用记事本编辑
5、修改MySQL的时区,涉及参数time_zone
6、Mysql You can change this value on the server by setting the max_allowed_packet’ variable. 异常