当前位置:   article > 正文

05-ubuntu安装mysql8

ubuntu安装mysql8

一:下载MySQL APT安装配置包

wget  https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb
  • 1

二:安装MySQL

1、输入以下命令,进入安装:

sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
  • 1

2、上下键选择 ok ,回车

安装MySQL Server

1、更新apt软件源

sudo apt-get update
  • 1

2、安装mysql Server

sudo apt-get install mysql-server
  • 1

2.1、我出现了报错:

W: GPG 错误:http://repo.mysql.com/apt/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 467B942D3A79BD29
E: 仓库 “http://repo.mysql.com/apt/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
  • 1
  • 2
  • 3
  • 4

2.2、解决方法:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29

#后面那一串字符串:是W:GPG报错下的 NO_PUBKEY 467B942D3A79BD29  
  • 1
  • 2
  • 3

2.3、再次安装mysql server : sudo apt-get install mysql-server

3、出现下面的,说明我们安装的不是mysql8版本的,安装的是mysql 5.7.38【如果不想使用MySQL5.7版本,跳到步骤5】

正在设置 mysql-server (5.7.38-0ubuntu0.18.04.1) ...
正在处理用于 libc-bin (2.27-3ubuntu1.5) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.52) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 ureadahead (0.100.0-21) 的触发器 ...
  • 1
  • 2
  • 3
  • 4
  • 5
4、此时想进入MySQL中;安装成功后是随机密码,需要修改密码。
查看MySQL版本:mysql -V
进入MySQL客户端:mysql -uroot -p
报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  • 1
  • 2
  • 3

4报错的解决方法,因为是生成随机密码了,需要修改密码。

4.1、进入配置文件,设置不用密码登录

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

到[mysqld] 下 加入:skip-grant-tables
保存退出:wq  
重启mysql服务:service mysql restart
  • 1
  • 2
  • 3
  • 4
  • 5

4.2、进入MySQL,设置密码

1、进入MySQL客户端
mysql -uroot -p 
不用输入密码,直接回车

2、执行
use mysql;

 update user set authentication_string=password("Huawei@123"),plugin='mysql_native_password' where user='root';
 
flush privilegs;

3、修改mysql配置文件,把不用输入密码进入那一句删除。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

将[mysqld] 下的 skip-grant-tables 注释或删除

4、重启mysql
service mysql restart
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

4.3、重新进入MySQL客户端

mysql -uroot -pHuawei@123 
进入到MySQL后,创建数据库试试
create database test_db;
  • 1
  • 2
  • 3
5、如果不想要mysql5.7.38,需要先卸载,再安装mysql8版本

5.1、卸载mysql5.7版本

1、查看mysql的依赖项:
dpkg --list|grep mysql

2、卸载
sudo apt-get remove mysql-common

3、卸载(最后数字根据自己下载的版本,通过mysql -V查看)
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 
	再dpkg --list|grep mysql 查看依赖项
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
6、安装MyS5QL8.0

6.1、下载mysql包

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
  • 1

6.2、安装

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
  • 1

6.3、更新软件源

sudo apt update
  • 1

6.4、安装MySQL8

sudo apt install mysql-server
  • 1

6.5、设置root密码,通过下箭头,选择确定,回车

6.6、网上的教程中看到默认的mysql8.0的加密方式与ubuntu18.04 不兼容,所以选择5.x的加密方式;建议选择下边的那个:

选择 (Retain MYSQL 5.x Compatibility) 后,点击回车,执行
  • 1

6.7、看到是下面的,安装的就是mysql8了

正在设置 mysql-server (8.0.29-1ubuntu18.04) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 libc-bin (2.27-3ubuntu1.5) 的触发器 ...
  • 1
  • 2
  • 3

7、进入mysql客户端进行验证

1、查看mysql版本
mysql -V
2、进入MySQl客户端
mysql -uroot -pHuawei@123
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/495107
推荐阅读
相关标签
  

闽ICP备14008679号