天天看点

MySQL手动安装Linux教程

安装环境

Kali GNU/Linux Rolling 64 位

mysql-5.7.20-linux-glibc2.12-x86_64

安装步骤

下载安装包

创建Mysql 系统用户

安装Mysql

初始话Mysql

启动Mysql

使用Mysql

配置环境变量

基础知识了解

注意:安装包有 源码包 和 二进制 包两种形式。

mysql-5.7.20.tar.gz 是源码包

mysql-5.7.20-linux-glibc2.12-x86_64 是二进制包

如何区分源码包和二进制包呢?

一般情况下,源码包的名称很简练,只有是一个只有版本号的tar格式的压缩文件,而二进制包由于安装环境要求较为严格,会在名称中包含版本号、适应平台、适应类型等信息。

源码包和二进制包的安装有什么不同?

源码包安装时要先进行编译,需要花费较多的时间;

二进制包是已经编译好的文件,可以直接进行安装。

本问主要介绍二进制包的安装方法。

详细步骤介绍

1.下载安装包

下载地点:https://dev.mysql.com/downloads/mysql/

可以在里面输入版本及使用平台,就会出现对应的下载链接

我的系统是kali rolling 64位,所以选择的是 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

2.创建Mysql 系统用户

root@kali:~# groupadd mysql

root@kali:~# useradd -r -g mysql -s /bin/false mysql

3. 安装MySQL

将之前下载的mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 安装包解压到/usr/local目录里,并将目录名称改为mysql ,此时路径为 /usr/loca/mysql/。 进入mysql 目录,然后创建mysql-files目录,并设置权限。

解压:

root@kali:~/下载# tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local

1

重命名:

root@kali:/usr/local# mv /usr/local/mysql-5.7.20-linux-glibc2.5-x86_64/ /usr/local/mysql/

进入MySQL目录:

root@kali:/usr/local# cd /usr/local/mysql/

创建mysql-files目录:

root@kali:/usr/local/mysql# mkdir mysql-files

赋予750权限:

root@kali:/usr/local/mysql# chmod 750 mysql-files

root@kali:/usr/local/mysql# ls -l -d  mysql-files

drwxr-s--- 2 root mysql 4096 11月 13 13:22 mysql-files

将当前目录的拥有者设置为mysql 用户和mysql 组:

root@kali:/usr/local/mysql# chown -R mysql  .

root@kali:/usr/local/mysql# chgrp -R mysql  .

root@kali:/usr/local/mysql# ls -l

总用量 56

drwxr-sr-x  2 mysql mysql  4096 11月 13 13:19 bin

-rw-r--r--  1 mysql mysql 17987 11月 13 13:19 COPYING

drwxr-sr-x  2 mysql mysql  4096 11月 13 13:19 docs

drwxr-sr-x  3 mysql mysql  4096 11月 13 13:19 include

drwxr-sr-x  5 mysql mysql  4096 11月 13 13:20 lib

drwxr-sr-x  4 mysql mysql  4096 11月 13 13:20 man

drwxr-s---  2 mysql mysql  4096 11月 13 13:22 mysql-files

-rw-r--r--  1 mysql mysql  2478 11月 13 13:20 README

drwxr-sr-x 28 mysql mysql  4096 11月 13 13:20 share

drwxr-sr-x  2 mysql mysql  4096 11月 13 13:20 support-files

4. 初始化MySQL

到MySQL的安装目录,执行命令,初始化MySQL

执行初始化命令:

root@kali:/usr/local/mysql# bin/mysqld --initialize --user=mysql

2017-11-13T05:30:52.100528Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use    --explicit_defaults_for_timestamp server option (see documentation for more details).

2017-11-13T05:30:53.953848Z 0 [Warning] InnoDB: New log files created, LSN=45790

2017-11-13T05:30:54.511297Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2017-11-13T05:30:54.706290Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d1d03f87-c833-11e7-86a5-74dfbf526f83.

2017-11-13T05:30:54.765179Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2017-11-13T05:30:54.766983Z 1 [Note] A temporary password is generated for root@localhost: jz>QUrrKf41O

注意:A temporary password is generated for root@localhost: jz>QUrrKf41O 这里是自动生成的初始密码 jz>QUrrKf41O,要记住,等会要用

配置ssl加密相关:

root@kali:/usr/local/mysql# bin/mysql_ssl_rsa_setup

Generating a 2048 bit RSA private key

..................+++

...........................................................+++

writing new private key to 'ca-key.pem'

-----

........+++

.....................+++

writing new private key to 'server-key.pem'

..........................................................................................................     .............................................................................+++

.+++

writing new private key to 'client-key.pem'

到此,MySQL安装初始化完成, 再执行一下命令修改权限

root@kali:/usr/local/mysql# chown -R root .

root@kali:/usr/local/mysql# chown -R mysql data/  mysql-files/

总用量 60

drwxr-sr-x  2 root  mysql  4096 11月 13 13:19 bin

-rw-r--r--  1 root  mysql 17987 11月 13 13:19 COPYING

drwxr-s---  5 mysql mysql  4096 11月 13 13:34 data

drwxr-sr-x  2 root  mysql  4096 11月 13 13:19 docs

drwxr-sr-x  3 root  mysql  4096 11月 13 13:19 include

drwxr-sr-x  5 root  mysql  4096 11月 13 13:20 lib

drwxr-sr-x  4 root  mysql  4096 11月 13 13:20 man

-rw-r--r--  1 root  mysql  2478 11月 13 13:20 README

drwxr-sr-x 28 root  mysql  4096 11月 13 13:20 share

drwxr-sr-x  2 root  mysql  4096 11月 13 13:20 support-files

*注意事项:

mysql初始化工作依赖libaio包,如果没有安装就会出现这个错误*

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot  open shared object file: No such file or directory”。

检查是否已安装:

yum search libaio

apt-cache search libaio

如果没有,则安装:

yum install libaio

apt-get install libaio1

yum适用于centos/readhat等系统,apt-get适用于ubuntu、debian系统,请按自己需要选择。

5. 启动MySQL

root@kali:/usr/local/mysql# cp support-files/mysql.server /etc/init.d/

启动MySQL服务:

root@kali:/usr/local/mysql# systemctl start mysql.server

停止MySQL服务:

root@kali:/usr/local/mysql# systemctl stop mysql.server

6. 使用MySQL

root@kali:/usr/local/mysql# bin/mysql -u root -p

Enter password:

2

注意:这里要求输入password ,就是之前初始化时自动生产的密码jz>QUrrKf41O

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

出现错误,这是由于MySQL 的服务没有开启。我们重新开启:

我们再次启动MySQL:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.20

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights  reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input     statement.

成功了。

7. 修改密码

初始化MySQL时生成的随机密码,只能用于初次登录。如果你要使用SQL语句作其他操作,就要修改密码后才能进行了。否则会报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”。

我们通过SET指令修改密码。

mysql> SET PASSWORD=PASSWORD('newpassword');

Query OK, 0 rows affected, 1 warning (0.00 sec)

8. 修改环境变量

到这里,我们已经成功安装好了MySQL, 但是使用时会出现:

root@kali:~# mysql

bash: mysql: 未找到命令

这是因为我们没有修改环境变量,用vim 修改 ~/.bashrc文件

root@kali:~# vim .bashrc

并添加下面一句话

export PATH="/usr/local/mysql/bin:$PATH"

然后回到命令行执行下面这条命令:

root@kali:~# source .bashrc

然后该用户无论在哪里,都可以直接使用mysql -u root -p 来打开mysql 了

继续阅读