当前位置:   article > 正文

Ubuntu20.04安装MySQL5.7-实测3种方法(保姆级教程)_ubuntu安装mysql5.7

ubuntu安装mysql5.7

最近生产系统系统需要使用MySQL5.7版本的数据库,而Ubuntu20.04默认是8.0的版本,折腾了一段时间后,测试了3中方法,在实际应用环境中测试成功,因此发布出来给大家参考。建议使用方案三方式部署,乐意折腾的可以试试方案二和方案一!

方案一

采用更换镜像源的方式进行安装部署。

1.更换镜像源

  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.old #备份原来的文件
  2. sudo vim /etc/apt/sources.list #修改sources.list文件

配置文件内容如下所示:

  1. #清华镜像源
  2. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
  3. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
  4. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
  5. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
  6. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  7. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  8. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

2.更新

sudo apt update    # 更新镜像源

3.安装MySQL5.7(需要输入两次mysql的root用户的密码)

安装记录如下所示

  1. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-server-5.7
  2. 正在读取软件包列表... 完成
  3. 正在分析软件包的依赖关系树
  4. 正在读取状态信息... 完成
  5. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  6. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  7. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  8. 下列信息可能会对解决问题有所帮助:
  9. 下列软件包有未满足的依赖关系:
  10. mysql-server-5.7 : 依赖: mysql-client-5.7 (>= 5.7.33-0ubuntu0.16.04.1) 但是它将不会被安装
  11. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  12. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-client-5.7
  13. 正在读取软件包列表... 完成
  14. 正在分析软件包的依赖关系树
  15. 正在读取状态信息... 完成
  16. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  17. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  18. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  19. 下列信息可能会对解决问题有所帮助:
  20. 下列软件包有未满足的依赖关系:
  21. mysql-client-5.7 : 依赖: mysql-client-core-5.7 但是它将不会被安装
  22. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  23. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-client-core-5.7
  24. 正在读取软件包列表... 完成
  25. 正在分析软件包的依赖关系树
  26. 正在读取状态信息... 完成
  27. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  28. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  29. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  30. 下列信息可能会对解决问题有所帮助:
  31. 下列软件包有未满足的依赖关系:
  32. mysql-client-core-5.7 : 依赖: libtinfo5 (>= 6) 但是它将不会被安装
  33. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  34. root@zgk-Ubuntu-T01:~# sudo apt install libtinfo5
  35. 正在读取软件包列表... 完成
  36. 正在分析软件包的依赖关系树
  37. 正在读取状态信息... 完成
  38. 下列软件包将被【卸载】:
  39. ncurses-base ncurses-term
  40. 下列【新】软件包将被安装:
  41. libtinfo5
  42. 【警告】:下列基础软件包将被卸载。
  43. 请勿尝试,除非您确实知道您在做什么!
  44. ncurses-base
  45. 升级了 0 个软件包,新安装了 1 个软件包,要卸载 2 个软件包,有 1 个软件包未被升级。
  46. 需要下载 76.8 kB 的归档。
  47. 解压缩后将会空出 4,194 kB 的空间。
  48. 您的操作有潜在的危害性。
  49. 若要继续,请输入下面的短句“是,按我说的做!”
  50. ?] 是,按我说的做!
  51. 获取:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 libtinfo5 amd64 6.0+20160213-1ubuntu1 [76.8 kB]
  52. 已下载 76.8 kB,耗时 1秒 (51.4 kB/s)
  53. (正在读取数据库 ... 系统当前共安装有 187784 个文件和目录。)
  54. 正在卸载 ncurses-term (6.2-0ubuntu2) ...
  55. dpkg: 警告: 由于开启了 --force 选项,以下问题被忽略:
  56. dpkg: 警告: 这是一个至关重要的软件包;您不应当把它卸载。
  57. 正在卸载 ncurses-base (6.2-0ubuntu2) ...
  58. 正在选中未选择的软件包 libtinfo5:amd64。
  59. (正在读取数据库 ... 系统当前共安装有 184914 个文件和目录。)
  60. 准备解压 .../libtinfo5_6.0+20160213-1ubuntu1_amd64.deb ...
  61. 正在解压 libtinfo5:amd64 (6.0+20160213-1ubuntu1) ...
  62. 正在设置 libtinfo5:amd64 (6.0+20160213-1ubuntu1) ...
  63. 正在处理用于 libc-bin (2.31-0ubuntu9.2) 的触发器 ...
  64. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-client-core-5.7
  65. 正在读取软件包列表... 完成
  66. 正在分析软件包的依赖关系树
  67. 正在读取状态信息... 完成
  68. 将会同时安装下列软件:
  69. libaio1 libssl1.0.0
  70. 下列【新】软件包将被安装:
  71. libaio1 libssl1.0.0 mysql-client-core-5.7
  72. 升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
  73. 需要下载 7,343 kB 的归档。
  74. 解压缩后会消耗 34.4 MB 的额外空间。
  75. 获取:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-updates/main amd64 libssl1.0.0 amd64 1.0.2g-1ubuntu4.20 [1,083 kB]
  76. 获取:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 libaio1 amd64 0.3.110-2 [6,356 B]
  77. 获取:3 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-updates/main amd64 mysql-client-core-5.7 amd64 5.7.33-0ubuntu0.16.04.1 [6,254 kB]
  78. 已下载 7,343 kB,耗时 8秒 (932 kB/s)
  79. 正在预设定软件包 ...
  80. 正在选中未选择的软件包 libssl1.0.0:amd64。
  81. (正在读取数据库 ... 系统当前共安装有 184922 个文件和目录。)
  82. 准备解压 .../libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb ...
  83. 正在解压 libssl1.0.0:amd64 (1.0.2g-1ubuntu4.20) ...
  84. 正在选中未选择的软件包 libaio1:amd64。
  85. 准备解压 .../libaio1_0.3.110-2_amd64.deb ...
  86. 正在解压 libaio1:amd64 (0.3.110-2) ...
  87. 正在选中未选择的软件包 mysql-client-core-5.7。
  88. 准备解压 .../mysql-client-core-5.7_5.7.33-0ubuntu0.16.04.1_amd64.deb ...
  89. 正在解压 mysql-client-core-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  90. 正在设置 libssl1.0.0:amd64 (1.0.2g-1ubuntu4.20) ...
  91. 正在设置 libaio1:amd64 (0.3.110-2) ...
  92. 正在设置 mysql-client-core-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  93. 正在处理用于 man-db (2.9.1-1) 的触发器 ...
  94. 正在处理用于 libc-bin (2.31-0ubuntu9.2) 的触发器 ...
  95. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-client-core-5.7
  96. 正在读取软件包列表... 完成
  97. 正在分析软件包的依赖关系树
  98. 正在读取状态信息... 完成
  99. mysql-client-core-5.7 已经是最新版 (5.7.33-0ubuntu0.16.04.1)。
  100. 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
  101. root@zgk-Ubuntu-T01:~# sudo apt install -y mysql-server-5.7
  102. 正在读取软件包列表... 完成
  103. 正在分析软件包的依赖关系树
  104. 正在读取状态信息... 完成
  105. 将会同时安装下列软件:
  106. initscripts insserv libcgi-pm-perl libhtml-template-perl mysql-client-5.7
  107. mysql-server-core-5.7 sysv-rc
  108. 建议安装:
  109. bootchart2 libipc-sharedcache-perl mailx tinyca bum
  110. 推荐安装:
  111. libcgi-fast-perl
  112. 下列【新】软件包将被安装:
  113. initscripts insserv libcgi-pm-perl libhtml-template-perl mysql-client-5.7
  114. mysql-server-5.7 mysql-server-core-5.7 sysv-rc
  115. 升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
  116. 需要下载 11.4 MB 的归档。
  117. 解压缩后会消耗 126 MB 的额外空间。
  118. 获取:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 insserv amd64 1.14.0-5ubuntu3 [38.2 kB]
  119. 获取:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 sysv-rc all 2.88dsf-59.3ubuntu2 [18.2 kB]
  120. 获取:3 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 initscripts amd64 2.88dsf-59.3ubuntu2 [24.4 kB]
  121. 获取:4 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-updates/main amd64 mysql-client-5.7 amd64 5.7.33-0ubuntu0.16.04.1 [1,430 kB]
  122. 获取:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-updates/main amd64 mysql-server-core-5.7 amd64 5.7.33-0ubuntu0.16.04.1 [7,215 kB]
  123. 获取:6 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-updates/main amd64 mysql-server-5.7 amd64 5.7.33-0ubuntu0.16.04.1 [2,423 kB]
  124. 获取:7 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 libcgi-pm-perl all 4.26-1 [185 kB]
  125. 获取:8 https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/main amd64 libhtml-template-perl all 2.95-2 [60.4 kB]
  126. 已下载 11.4 MB,耗时 32秒 (351 kB/s)
  127. 正在预设定软件包 ...
  128. 软件包设置
  129. ┌──────────────────────────┤ 正在设定 mysql-server-5.7 ├──────────────────────────┐
  130. │ While not mandatory, it is highly recommended that you set a password for the │
  131. │ MySQL administrative "root" user. │
  132. │ │
  133. │ If this field is left blank, the password will not be changed. │
  134. │ │
  135. │ New password for the MySQL "root" user: │
  136. │ │
  137. │ *********______________________________________________________________________ │
  138. │ │
  139. <确定>
  140. │ │
  141. └─────────────────────────────────────────────────────────────────────────────────┘
  142. 软件包设置
  143. ┌────────┤ 正在设定 mysql-server-5.7 ├────────┐
  144. │ │
  145. │ │
  146. │ Repeat password for the MySQL "root" user: │
  147. │ │
  148. │ *********__________________________________ │
  149. │ │
  150. <确定>
  151. │ │
  152. └─────────────────────────────────────────────┘
  153. 正在选中未选择的软件包 insserv。
  154. (正在读取数据库 ... 系统当前共安装有 184958 个文件和目录。)
  155. 准备解压 .../0-insserv_1.14.0-5ubuntu3_amd64.deb ...
  156. 正在解压 insserv (1.14.0-5ubuntu3) ...
  157. 正在选中未选择的软件包 sysv-rc。
  158. 准备解压 .../1-sysv-rc_2.88dsf-59.3ubuntu2_all.deb ...
  159. 正在解压 sysv-rc (2.88dsf-59.3ubuntu2) ...
  160. 正在选中未选择的软件包 initscripts。
  161. 准备解压 .../2-initscripts_2.88dsf-59.3ubuntu2_amd64.deb ...
  162. 正在解压 initscripts (2.88dsf-59.3ubuntu2) ...
  163. 被已安装的软件包 sysvinit-utils (2.96-2.1ubuntu1) 中的文件替换了...
  164. 正在选中未选择的软件包 mysql-client-5.7。
  165. 准备解压 .../3-mysql-client-5.7_5.7.33-0ubuntu0.16.04.1_amd64.deb ...
  166. 正在解压 mysql-client-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  167. 正在选中未选择的软件包 mysql-server-core-5.7。
  168. 准备解压 .../4-mysql-server-core-5.7_5.7.33-0ubuntu0.16.04.1_amd64.deb ...
  169. 正在解压 mysql-server-core-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  170. 正在选中未选择的软件包 mysql-server-5.7。
  171. 准备解压 .../5-mysql-server-5.7_5.7.33-0ubuntu0.16.04.1_amd64.deb ...
  172. 正在解压 mysql-server-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  173. 正在选中未选择的软件包 libcgi-pm-perl。
  174. 准备解压 .../6-libcgi-pm-perl_4.26-1_all.deb ...
  175. 正在解压 libcgi-pm-perl (4.26-1) ...
  176. 正在选中未选择的软件包 libhtml-template-perl。
  177. 准备解压 .../7-libhtml-template-perl_2.95-2_all.deb ...
  178. 正在解压 libhtml-template-perl (2.95-2) ...
  179. 正在设置 mysql-client-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  180. 正在设置 libcgi-pm-perl (4.26-1) ...
  181. 正在设置 mysql-server-core-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  182. 正在设置 libhtml-template-perl (2.95-2) ...
  183. 正在设置 insserv (1.14.0-5ubuntu3) ...
  184. 正在设置 sysv-rc (2.88dsf-59.3ubuntu2) ...
  185. 正在设置 initscripts (2.88dsf-59.3ubuntu2) ...
  186. 正在设置 mysql-server-5.7 (5.7.33-0ubuntu0.16.04.1) ...
  187. update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
  188. Renaming removed key_buffer and myisam-recover options (if present)
  189. Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
  190. 正在处理用于 man-db (2.9.1-1) 的触发器 ...
  191. 正在处理用于 systemd (245.4-4ubuntu3.15) 的触发器 ...

4、安装完成,查看MySQL的版本

  1. root@zgk-Ubuntu-T01:~# mysql -V # 查看mysql版本
  2. mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using EditLine wrapper

5、连接MySQL(使用root和刚才设置的root的密码)

后面重启系统后,发现键盘“Backspace”和方向键出现异常,切换到系统桌面终端任有此现象。

方案二

采用在线安装方式进行。

1、下载deb文件并配置

如果你选择下载mysql-apt-config_0.8.xx-1.all.deb文件,到这里下载,选择一个版本,然后下载到ubuntu中,然后就可以dpkg -i运行,进行配置mysql-server的源。

安装记录如下所示 :

  1. root@zgk-Ubuntu-T01:~# wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
  2. --2022-12-09 17:05:27-- https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
  3. 正在解析主机 repo.mysql.com (repo.mysql.com)... 96.16.68.238
  4. 正在连接 repo.mysql.com (repo.mysql.com)|96.16.68.238|:443... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... 200 OK
  6. 长度: 36306 (35K) [application/x-debian-package]
  7. 正在保存至: “mysql-apt-config_0.8.12-1_all.deb”
  8. mysql-apt-config_0.8.1 100%[=========================>] 35.46K 187KB/s 用时 0.2s
  9. 2022-12-09 17:05:28 (187 KB/s) - 已保存 “mysql-apt-config_0.8.12-1_all.deb” [36306/36306])
  10. root@zgk-Ubuntu-T01:~# sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
  11. 正在选中未选择的软件包 mysql-apt-config。
  12. (正在读取数据库 ... 系统当前共安装有 187436 个文件和目录。)
  13. 准备解压 mysql-apt-config_0.8.12-1_all.deb ...
  14. 正在解压 mysql-apt-config (0.8.12-1) ...
  15. 正在设置 mysql-apt-config (0.8.12-1) ...

执行这一步最好在机器上运行,在终端工具上,有可能显示不了选项,我使用xshell可以正常。 这个弹出框里,我选择的是“ubuntu bionic”。

之后单击“确定”选项,进入下一个选项,此处默认为第一项,我们在第一项上,回车。

在出来的选项中,我们就可以选择mysql-5.7了,在“mysq-5.7”上回车。

 回车后,系统自动显示我们选择的5.7的选项,通过键盘,选择“ok”,然后回车确定。

配置结束后,运行update更新。

  1. root@zgk-Ubuntu-T01:~# apt update
  2. 命中:1 http://mirrors.aliyun.com/ubuntu focal InRelease
  3. 获取:2 http://mirrors.aliyun.com/ubuntu focal-updates InRelease [114 kB]
  4. 获取:3 http://repo.mysql.com/apt/ubuntu bionic InRelease [20.0 kB]
  5. 错误:3 http://repo.mysql.com/apt/ubuntu bionic InRelease
  6. 由于没有公钥,无法验证下列签名: NO_PUBKEY 467B942D3A79BD29
  7. 获取:4 http://mirrors.aliyun.com/ubuntu focal-backports InRelease [108 kB]
  8. 获取:5 http://mirrors.aliyun.com/ubuntu focal-security InRelease [114 kB]
  9. 获取:6 http://mirrors.aliyun.com/ubuntu focal-updates/main i386 Packages [761 kB]
  10. 获取:7 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 Packages [2,267 kB]
  11. 获取:8 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [275 kB]
  12. 获取:9 http://mirrors.aliyun.com/ubuntu focal-updates/universe amd64 Packages [1,009 kB]
  13. 获取:10 http://mirrors.aliyun.com/ubuntu focal-updates/universe i386 Packages [705 kB]
  14. 获取:11 http://mirrors.aliyun.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [408 kB]
  15. 获取:12 http://mirrors.aliyun.com/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [940 B]
  16. 获取:13 http://mirrors.aliyun.com/ubuntu focal-backports/main amd64 DEP-11 Metadata [7,940 B]
  17. 获取:14 http://mirrors.aliyun.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [30.5 kB]
  18. 获取:15 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 DEP-11 Metadata [40.7 kB]
  19. 获取:16 http://mirrors.aliyun.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [93.9 kB]
  20. 获取:17 http://mirrors.aliyun.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [940 B]
  21. 正在读取软件包列表... 完成
  22. W: GPG 错误:http://repo.mysql.com/apt/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 467B942D3A79BD29
  23. E: 仓库 “http://repo.mysql.com/apt/ubuntu bionic InRelease” 没有数字签名。
  24. N: 无法安全地用该源进行更新,所以默认禁用该源。

 提示没有公钥,因此我们最好安装公钥。

  1. root@zgk-Ubuntu-T01:~# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
  2. Executing: /tmp/apt-key-gpghome.6S4Xo2qxW8/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
  3. gpg: 密钥 467B942D3A79BD29:公钥 “MySQL Release Engineering <mysql-build@oss.oracle.com>” 已导入
  4. gpg: 处理的总数:1
  5. gpg: 已导入:1

 执行成功后,继续执行“apt update”,运行正常,接下来可以正常安装。

2、安装mysq-5.7

此时,在/etc/apt/source.list.d/目录下生成mysql.list,更新完成,我们通过apt-cache policy mysql-server可以查看到,系统中出现了mysql5.7的源。

  1. root@zgk-Ubuntu-T01:~# apt-cache policy mysql-server
  2. mysql-server:
  3. 已安装:(无)
  4. 候选: 8.0.31-0ubuntu0.20.04.2
  5. 版本列表:
  6. 8.0.31-0ubuntu0.20.04.2 500
  7. 500 http://mirrors.aliyun.com/ubuntu focal-updates/main amd64 Packages
  8. 500 http://mirrors.aliyun.com/ubuntu focal-updates/main i386 Packages
  9. 8.0.31-0ubuntu0.20.04.1 500
  10. 500 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 Packages
  11. 500 http://mirrors.aliyun.com/ubuntu focal-security/main i386 Packages
  12. 8.0.19-0ubuntu5 500
  13. 500 http://mirrors.aliyun.com/ubuntu focal/main amd64 Packages
  14. 500 http://mirrors.aliyun.com/ubuntu focal/main i386 Packages
  15. 5.7.40-1ubuntu18.04 500
  16. 500 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 Packages

 2.1安装mysql-client

  1. root@zgk-Ubuntu-T01:~# sudo apt install mysql-client=5.7.40-1ubuntu18.04
  2. 正在读取软件包列表... 完成
  3. 正在分析软件包的依赖关系树
  4. 正在读取状态信息... 完成
  5. 将会同时安装下列软件:
  6. libaio1 libtinfo5 mysql-community-client
  7. 下列【新】软件包将被安装:
  8. libaio1 libtinfo5 mysql-client mysql-community-client
  9. 升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 87 个软件包未被升级。
  10. 需要下载 15.4 MB 的归档。
  11. 解压缩后会消耗 98.9 MB 的额外空间。
  12. 您希望继续执行吗? [Y/n] y
  13. 获取:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 libaio1 amd64 0.3.112-5 [7,184 B]
  14. 获取:2 http://mirrors.aliyun.com/ubuntu focal/universe amd64 libtinfo5 amd64 6.2-0ubuntu2 [83.0 kB]
  15. 获取:3 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 mysql-community-client amd64 5.7.40-1ubuntu18.04 [15.2 MB]
  16. 获取:4 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 mysql-client amd64 5.7.40-1ubuntu18.04 [69.6 kB]
  17. 已下载 15.4 MB,耗时 4秒 (3,539 kB/s)
  18. 正在选中未选择的软件包 libaio1:amd64。
  19. (正在读取数据库 ... 系统当前共安装有 187441 个文件和目录。)
  20. 准备解压 .../libaio1_0.3.112-5_amd64.deb ...
  21. 正在解压 libaio1:amd64 (0.3.112-5) ...
  22. 正在选中未选择的软件包 libtinfo5:amd64。
  23. 准备解压 .../libtinfo5_6.2-0ubuntu2_amd64.deb ...
  24. 正在解压 libtinfo5:amd64 (6.2-0ubuntu2) ...
  25. 正在选中未选择的软件包 mysql-community-client。
  26. 准备解压 .../mysql-community-client_5.7.40-1ubuntu18.04_amd64.deb ...
  27. 正在解压 mysql-community-client (5.7.40-1ubuntu18.04) ...
  28. 正在选中未选择的软件包 mysql-client。
  29. 准备解压 .../mysql-client_5.7.40-1ubuntu18.04_amd64.deb ...
  30. 正在解压 mysql-client (5.7.40-1ubuntu18.04) ...
  31. 正在设置 libaio1:amd64 (0.3.112-5) ...
  32. 正在设置 libtinfo5:amd64 (6.2-0ubuntu2) ...
  33. 正在设置 mysql-community-client (5.7.40-1ubuntu18.04) ...
  34. 正在设置 mysql-client (5.7.40-1ubuntu18.04) ...
  35. 正在处理用于 man-db (2.9.1-1) 的触发器 ...
  36. 正在处理用于 libc-bin (2.31-0ubuntu9.7) 的触发器 ...
  37. root@zgk-Ubuntu-T01:~# sudo apt install mysql-community=5.7.40-1ubuntu18.04
  38. 正在读取软件包列表... 完成
  39. 正在分析软件包的依赖关系树
  40. 正在读取状态信息... 完成

2.2安装mysql-community-server

  1. root@zgk-Ubuntu-T01:~# sudo apt install mysql-community-server=5.7.40-1ubuntu18.04
  2. 正在读取软件包列表... 完成
  3. 正在分析软件包的依赖关系树
  4. 正在读取状态信息... 完成
  5. 将会同时安装下列软件:
  6. libmecab2
  7. 下列【新】软件包将被安装:
  8. libmecab2 mysql-community-server
  9. 升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 88 个软件包未被升级。
  10. 需要下载 40.1 MB 的归档。
  11. 解压缩后会消耗 229 MB 的额外空间。
  12. 您希望继续执行吗? [Y/n] y
  13. 获取:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 libmecab2 amd64 0.996-10build1 [233 kB]
  14. 获取:2 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 mysql-community-server amd64 5.7.40-1ubuntu18.04 [39.8 MB]
  15. 已下载 40.1 MB,耗时 5秒 (8,313 kB/s)
  16. 正在预设定软件包 ...

设置mysqroot密码,并进行二次密码确认

  1. 正在选中未选择的软件包 libmecab2:amd64。
  2. (正在读取数据库 ... 系统当前共安装有 187517 个文件和目录。)
  3. 准备解压 .../libmecab2_0.996-10build1_amd64.deb ...
  4. 正在解压 libmecab2:amd64 (0.996-10build1) ...
  5. 正在选中未选择的软件包 mysql-community-server。
  6. 准备解压 .../mysql-community-server_5.7.40-1ubuntu18.04_amd64.deb ...
  7. 正在解压 mysql-community-server (5.7.40-1ubuntu18.04) ...
  8. 正在设置 libmecab2:amd64 (0.996-10build1) ...
  9. 正在设置 mysql-community-server (5.7.40-1ubuntu18.04) ...
  10. update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
  11. Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
  12. 正在处理用于 systemd (245.4-4ubuntu3.15) 的触发器 ...
  13. 正在处理用于 man-db (2.9.1-1) 的触发器 ...
  14. 正在处理用于 libc-bin (2.31-0ubuntu9.7) 的触发器 ...

 2.3安装mysql-server

  1. root@zgk-Ubuntu-T01:~# sudo apt install mysql-server=5.7.40-1ubuntu18.04
  2. 正在读取软件包列表... 完成
  3. 正在分析软件包的依赖关系树
  4. 正在读取状态信息... 完成
  5. 下列【新】软件包将被安装:
  6. mysql-server
  7. 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 88 个软件包未被升级。
  8. 需要下载 69.6 kB 的归档。
  9. 解压缩后会消耗 79.9 kB 的额外空间。
  10. 获取:1 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 mysql-server amd64 5.7.40-1ubuntu18.04 [69.6 kB]
  11. 已下载 69.6 kB,耗时 1秒 (98.2 kB/s)
  12. 正在选中未选择的软件包 mysql-server。
  13. (正在读取数据库 ... 系统当前共安装有 187685 个文件和目录。)
  14. 准备解压 .../mysql-server_5.7.40-1ubuntu18.04_amd64.deb ...
  15. 正在解压 mysql-server (5.7.40-1ubuntu18.04) ...
  16. 正在设置 mysql-server (5.7.40-1ubuntu18.04) ...

3、验证并测试

安装完成后,通过“dpkg -l | grep mysql”命令可以看到mysql的版本为5.7.40

  1. root@zgk-Ubuntu-T01:~# dpkg -l | grep mysql
  2. ii libmysqlclient21:amd64 8.0.31-0ubuntu0.20.04.1 amd64 MySQL database client library
  3. ii mysql-apt-config 0.8.12-1 all Auto configuration for MySQL APT Repo.
  4. ii mysql-client 5.7.40-1ubuntu18.04 amd64 MySQL Client meta package depending on latest version
  5. ii mysql-common 5.8+1.0.5ubuntu2 all MySQL database common files, e.g. /etc/mysql/my.cnf
  6. ii mysql-community-client 5.7.40-1ubuntu18.04 amd64 MySQL Client
  7. ii mysql-community-server 5.7.40-1ubuntu18.04 amd64 MySQL Server
  8. ii mysql-server 5.7.40-1ubuntu18.04 amd64 MySQL Server meta package depending on latest version

 通过“mysql -u root -p”输入密码后,正常进入数据库

  1. root@zgk-Ubuntu-T01:~# mysql -u root -p
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 3
  5. Server version: 5.7.40 MySQL Community Server (GPL)
  6. Copyright (c) 2000, 2022, Oracle and/or its affiliates.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql> quit

系统重启后,一切正常!无方案一的重启后,键盘“Backspace”和方向键出现故障的现象。


方案三

采用源码包安装方式。

1、准备源码包与环境

提前通过如下方式下载包并解压,删除两个带test名称的deb文件。

  1. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
  2. tar -xvf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
  3. rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
  4. rm -f mysql-community-test_5.7.30-1ubuntu18.04_amd64.deb

依赖包可以去阿里巴巴开源镜像站-阿里云官网开发者社区_云计算社区提供全面,高效和稳定的系统镜像、应用软件下载、域名解析和时间同步服务https://developer.aliyun.com/packageSearch?word=libaio1提前下载好。

1.1安装步骤

1)本方案采用先装如下安装包

libmysqlclient20_5.7.31-1ubuntu18.04_amd64.deb

libmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.deb

libmysqld-dev_5.7.31-1ubuntu18.04_amd64.deb

mysql-common_5.7.31-1ubuntu18.04_amd64.deb

2)再安装如下安装包(在安装“mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb”包时提示依赖关系存在问题,参考“2、处理依赖关系”,并安装好几个依赖包,采用离线方式安装的话,可以去阿里镜像源上下载匹配的包,本方案中使用amd64,所以下载了“libaio1_0.3.112-5_amd64.deb”、“libmecab2_0.996-10build1_amd64.deb”、“libtinfo5_6.2-0ubuntu2_amd64.deb”三个依赖包)

mysql-community-source_5.7.31-1ubuntu18.04_amd64.deb

mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb

mysql-client_5.7.31-1ubuntu18.04_amd64.deb

3)最后安装下述包

mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb

mysql-server_5.7.31-1ubuntu18.04_amd64.deb

  1. root@zgk-Ubuntu-T01:~# dpkg -i mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
  2. (正在读取数据库 ... 系统当前共安装有 187799 个文件和目录。)
  3. 准备解压 mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb ...
  4. 正在解压 mysql-community-client (5.7.31-1ubuntu18.04) 并覆盖 (5.7.31-1ubuntu18.04) ...
  5. dpkg: 依赖关系问题使得 mysql-community-client 的配置工作不能继续:
  6. mysql-community-client 依赖于 libaio1 (>= 0.3.93);然而:
  7. 未安装软件包 libaio1。
  8. mysql-community-client 依赖于 libtinfo5 (>= 6);然而:
  9. 未安装软件包 libtinfo5。
  10. dpkg: 处理软件包 mysql-community-client (--install)时出错:
  11. 依赖关系问题 - 仍未被配置
  12. 正在处理用于 man-db (2.9.1-1) 的触发器 ...
  13. 在处理时有错误发生:
  14. mysql-community-client
  15. root@zgk-Ubuntu-T01:~# sudo apt install libaio1
  16. 正在读取软件包列表... 完成
  17. 正在分析软件包的依赖关系树
  18. 正在读取状态信息... 完成
  19. 您也许需要运行“apt --fix-broken install”来修正上面的错误。
  20. 下列软件包有未满足的依赖关系:
  21. mysql-community-client : 依赖: libtinfo5 (>= 6) 但是它将不会被安装
  22. mysql-community-server : 依赖: libmecab2 但是它将不会被安装
  23. E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
  24. root@zgk-Ubuntu-T01:~# sudo apt install libtinfo5
  25. 正在读取软件包列表... 完成
  26. 正在分析软件包的依赖关系树
  27. 正在读取状态信息... 完成
  28. 您也许需要运行“apt --fix-broken install”来修正上面的错误。
  29. 下列软件包有未满足的依赖关系:
  30. mysql-community-client : 依赖: libaio1 (>= 0.3.93) 但是它将不会被安装
  31. mysql-community-server : 依赖: libaio1 (>= 0.3.93) 但是它将不会被安装
  32. 依赖: libmecab2 但是它将不会被安装
  33. E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

2、处理依赖关系

若出现单独安装某一个依赖包出现错误时,或安装的依赖包互相有依赖关系,则选择一次安装所有的依赖包,即可解决互相关联的依赖关系。

  1. root@zgk-Ubuntu-T01:~# sudo apt install libaio1 libtinfo5 libmecab2
  2. 正在读取软件包列表... 完成
  3. 正在分析软件包的依赖关系树
  4. 正在读取状态信息... 完成
  5. 下列【新】软件包将被安装:
  6. libaio1 libmecab2 libtinfo5
  7. 升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 320 个软件包未被升级。
  8. 有 4 个软件包没有被完全安装或卸载。
  9. 需要下载 323 kB 的归档。
  10. 解压缩后会消耗 2,435 kB 的额外空间。
  11. 获取:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 libaio1 amd64 0.3.112-5 [7,184 B]
  12. 获取:2 http://mirrors.aliyun.com/ubuntu focal/universe amd64 libtinfo5 amd64 6.2-0ubuntu2 [83.0 kB]
  13. 获取:3 http://mirrors.aliyun.com/ubuntu focal/main amd64 libmecab2 amd64 0.996-10build1 [233 kB]
  14. 已下载 323 kB,耗时 1秒 (543 kB/s)
  15. 正在选中未选择的软件包 libaio1:amd64。
  16. (正在读取数据库 ... 系统当前共安装有 187799 个文件和目录。)
  17. 准备解压 .../libaio1_0.3.112-5_amd64.deb ...
  18. 正在解压 libaio1:amd64 (0.3.112-5) ...
  19. 正在选中未选择的软件包 libtinfo5:amd64。
  20. 准备解压 .../libtinfo5_6.2-0ubuntu2_amd64.deb ...
  21. 正在解压 libtinfo5:amd64 (6.2-0ubuntu2) ...
  22. 正在选中未选择的软件包 libmecab2:amd64。
  23. 准备解压 .../libmecab2_0.996-10build1_amd64.deb ...
  24. 正在解压 libmecab2:amd64 (0.996-10build1) ...
  25. 正在设置 libmecab2:amd64 (0.996-10build1) ...
  26. 正在设置 libaio1:amd64 (0.3.112-5) ...
  27. 正在设置 libtinfo5:amd64 (6.2-0ubuntu2) ...
  28. 正在设置 mysql-community-client (5.7.31-1ubuntu18.04) ...
  29. 正在设置 mysql-client (5.7.31-1ubuntu18.04) ...
  30. 正在设置 mysql-community-server (5.7.31-1ubuntu18.04) ...

 

  1. update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
  2. Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
  3. 正在设置 mysql-server (5.7.31-1ubuntu18.04) ...
  4. 正在处理用于 libc-bin (2.31-0ubuntu9.2) 的触发器 ...
  5. 正在处理用于 systemd (245.4-4ubuntu3.15) 的触发器 ...

3、安装完成,查看数据库是否正常并修改允许root登录

  1. mysql> use mysql;
  2. Reading table information for completion of table and column names
  3. You can turn off this feature to get a quicker startup with -A
  4. Database changed
  5. mysql> select user,host from user;
  6. +---------------+-----------+
  7. | user | host |
  8. +---------------+-----------+
  9. | mysql.session | localhost |
  10. | mysql.sys | localhost |
  11. | root | localhost |
  12. +---------------+-----------+
  13. 3 rows in set (0.00 sec)
  14. mysql> update user set host='%' where user='root';
  15. Query OK, 1 row affected (0.00 sec)
  16. Rows matched: 1 Changed: 1 Warnings: 0
  17. mysql> select user,host from user;
  18. +---------------+-----------+
  19. | user | host |
  20. +---------------+-----------+
  21. | root | % |
  22. | mysql.session | localhost |
  23. | mysql.sys | localhost |
  24. +---------------+-----------+
  25. 3 rows in set (0.00 sec)
  26. mysql> flush privileges;
  27. Query OK, 0 rows affected (0.00 sec)
  28. mysql> quit;

4、配置允许其他IP访问

  1. root@zgk-Ubuntu-T01:/etc/mysql/mysql.conf.d# vim mysqld.cnf
  2. # Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License, version 2.0,
  6. # as published by the Free Software Foundation.
  7. #
  8. # This program is also distributed with certain software (including
  9. # but not limited to OpenSSL) that is licensed under separate terms,
  10. # as designated in a particular file or component or in included license
  11. # documentation. The authors of MySQL hereby grant you an additional
  12. # permission to link the program and your derivative works with the
  13. # separately licensed software that they have included with MySQL.
  14. #
  15. # This program is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. # GNU General Public License, version 2.0, for more details.
  19. #
  20. # You should have received a copy of the GNU General Public License
  21. # along with this program; if not, write to the Free Software
  22. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  23. #
  24. # The MySQL Server configuration file.
  25. #
  26. # For explanations see
  27. # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
  28. [mysqld]
  29. pid-file = /var/run/mysqld/mysqld.pid
  30. socket = /var/run/mysqld/mysqld.sock
  31. datadir = /var/lib/mysql
  32. log-error = /var/log/mysql/error.log
  33. port = 3306
  34. # By default we only accept connections from localhost
  35. #bind-address = 127.0.0.1
  36. # Disabling symbolic-links is recommended to prevent assorted security risks
  37. symbolic-links=0
  38. ~
  39. "mysqld.cnf" 38L, 1621C 已写入
  40. root@zgk-Ubuntu-T01:/etc/mysql/mysql.conf.d# /etc/init.d/mysql restart

至此,三种方案整理完毕!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/65205
推荐阅读
相关标签
  

闽ICP备14008679号