ubuntu下使用tar压缩包安装mysql

时间:2024-03-07 14:44:20

一、引言

  因为前段时间安装使用apt-get安装mysql实在是因为各种依赖问题,把我逼疯了,最后也没安装下来,所以只好使用压缩包解压安装,这也是效率最高的方法了,不会因为各种依赖问题烦恼。

  非常感谢原博主的文章,也是借鉴了很多,如果安装过程中遇到了问题,也可以去博主页面看看,评论区也有很多答案

  路径:https://blog.csdn.net/qq_37598011/article/details/93489404

二、压缩包下载

  地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

  这里我们选择当前的文件,不用选择其他的,因为可能是deb文件压缩的。

  

   下载完成后我们就放在home文件夹下面,然后使用下面的命令进行解压,顺便移动一下位置

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar    # 用于解压
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql # 解压完成后进行移动

  

三、配置环境

  创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

  创建数据目录并赋予权限

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

  配置my.cnf

vim /etc/my.cnf

  内容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

  初始化数据库,进入mysql的bin目录

cd /usr/local/mysql/bin/

  然后我们执行初始化命令

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

  这里我报错了:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

  原因也很好查找,因为缺少依赖libaio,使用以下命令进行安装即可,安装完就可以进行初始化了,记住初始化一定要记住密码,因为后面有些问题可能会让你重启服务器/虚拟机

apt-get -y install libaio* libaio-dev*

  查看密码:cat /data/mysql/mysql.err

   启动mysql,并更改root密码,先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

  然后启动mysql

service mysql start

ps -ef|grep mysql

  但是在运行service mysql start的时候却报了一个错误:Failed to start mysql.service: Unit mysql.service not found.

  这里我是直接重启服务器就好了,这也就是为什么前面要保存密码的原因,但是如果还不行的话,我这里也收集了很多怎么安装的资料,重启可以解决的话就跳过吧

  报错原因呢是需要安装:mariadb-server

  于是我们继续安装这个依赖,报错了

The following packages have unmet dependencies:
 mariadb-server : Depends: mariadb-server-5.5 (>= 5.5.64-1ubuntu0.14.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

  然后收集了解决方案:https://blog.csdn.net/cocos2dGirl/article/details/99332772  

  这里我是换配置进行解决的,然而,在运行这条命令时出错了:

  sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

Executing: /tmp/apt-key-gpghome.BhkdFzE3W6/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
gpg: connecting dirmngr at \'/tmp/apt-key-gpghome.BhkdFzE3W6/S.dirmngr\' failed: IPC connect call failed
gpg: keyserver receive failed: No dirmngr

  继续解决:https://my.oschina.net/xlyslr/blog/2996085

  继续报错,这个问题还是比较友好的,安装就完事了

Command \'curl\' not found, but can be installed with:

apt install curl

  但是当我继续安装时,它还是给我报错,数据库没有签字,这个我没找到解决方案

E: The repository \'http://mirrors.dotsrc.org/mariadb/repo/10.1/debian stretch InRelease\' is not signed.
N: Updating from such a repository can\'t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

  没办法,我只能另辟蹊径,去找离线的包,解压进去看看

  下载MariaDB安装包:https://downloads.mariadb.org/

  

  

   其实解决到这话,就是另外的安装了,因为mariadb和mysql是两个可以替代的工具,我后面也尝试安装了,但是没有成功,就不想继续写下去了,csdn也有很多教程

继续正文

   当我们启动成功之后就开始登陆了,运行下面代码并输入我们之前的随机密码

./mysql -u root -p   # 记住是在/usr/local/mysql/bin/目录下执行

  在执行下面三行代码进行登录

SET PASSWORD = PASSWORD(\'123456\');
ALTER USER \'root\'@\'localhost\' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; 
quit

  这时候你如果使用远程连接……你会发现你无法连接,继续执行下面命令

use mysql                                            #访问mysql库
update user set host = \'%\' where user = \'root\';      #使root能再任何host访问
FLUSH PRIVILEGES; 
quit

  如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s /usr/local/mysql/bin/mysql  /usr/bin

  为了防止版本不同而导致安装失败……这里我把MySQL的包放在百度云上。

  链接: https://pan.baidu.com/s/1oZLaBAELK9tuB1FCfQfzUg 提取码: mvji 复制这段内容后打开百度网盘手机App,操作更方便哦