Linux环境下MySQL5.7安装记录

参考文档

《Installing MySQL on Unix/Linux Using Generic Binaries》

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

clipboard

卸载旧版本MySQL

查看当前Linux环境中是否已经安装了MySQL。

执行命令:rpm -qa|grep mysql

clipboard

查看状态:service mysqld status

clipboard

停止服务:service mysqld stop

卸载MySQL:

[root@localhost ~]# rpm -e mysql-server-5.1.71-1.el6.x86_64 --nodeps

[root@localhost ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps

[root@localhost ~]# rpm -e mysql-5.1.71-1.el6.x86_64 --nodeps

[root@localhost ~]# rpm -e libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64 --nodeps

创建MySQL组和用户

查看是否已经具有mysql用户。

[root@iZ88rvassw1Z opt]# cat /etc/group | grep mysql

[root@iZ88rvassw1Z opt]# cat /etc/passwd | grep mysql

添加组和用户

[root@iZ88rvassw1Z opt]# groupadd mysql

[root@iZ88rvassw1Z opt]# useradd -r -g mysql mysql

[root@iZ88rvassw1Z opt]# cat /etc/group | grep mysql

mysql:x:500:

[root@iZ88rvassw1Z opt]# cat /etc/passwd | grep mysql

mysql:x:498:500::/home/mysql:/bin/bash

[root@iZ88rvassw1Z opt]#

下载MySQL安装介质

下载地址:

https://dev.mysql.com/downloads/mysql/

选择Linux-Generic,X86,64-bit;下载TAR。

clipboard

上传MySQL安装介质

使用XFTP或者其他工具将安装介质上传至服务器。

本示例上传至“/opt/”目录。

[root@iZ88rvassw1Z opt]# ll

total 1310816

-rw-r--r-- 1 root root 671129600 Feb 5 16:48 mysql-5.7.21-linux-glibc2.12-x86_64.tar

MySQL安装过程

解压tar包:

[root@iZ88rvassw1Z opt]# tar xvf mysql-5.7.21-linux-glibc2.12-x86_64.tar

[root@iZ88rvassw1Z opt]# ll

total 1310816

-rw-r--r-- 1 root root 671129600 Feb 5 16:48 mysql-5.7.21-linux-glibc2.12-x86_64.tar

-rw-r--r-- 1 7161 31415 641798603 Dec 28 12:20 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

-rw-r--r-- 1 7161 31415 29328152 Dec 28 12:18 mysql-test-5.7.21-linux-glibc2.12-x86_64.tar.gz

解压tar.gz包:

[root@iZ88rvassw1Z opt]# tar zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

[root@iZ88rvassw1Z opt]# ll

total 1310820

drwxr-xr-x 9 root root 4096 Feb 5 20:03 mysql-5.7.21-linux-glibc2.12-x86_64

-rw-r--r-- 1 root root 671129600 Feb 5 16:48 mysql-5.7.21-linux-glibc2.12-x86_64.tar

-rw-r--r-- 1 7161 31415 641798603 Dec 28 12:20 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

-rw-r--r-- 1 7161 31415 29328152 Dec 28 12:18 mysql-test-5.7.21-linux-glibc2.12-x86_64.tar.gz

drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh

修改文件夹名称:

[root@iZ88rvassw1Z opt]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

移动文件夹目录:

[root@iZ88rvassw1Z opt]# mv mysql /usr/local/

查看文件夹目录:

[root@iZ88rvassw1Z local]# ll
total 60
drwxr-xr-x  7 root root 4096 Nov  1 17:24 aegis
drwxr-xr-x. 2 root root 4096 Sep 23  2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23  2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23  2011 games
drwxr-xr-x. 2 root root 4096 Sep 23  2011 include
drwxr-xr-x  8 uucp  143 4096 Sep 27  2014 jdk1.7.0_71
drwxr-xr-x. 2 root root 4096 Sep 23  2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23  2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23  2011 libexec
drwxr-xr-x  9 root root 4096 Feb  5 20:03 mysql
drwxr-xr-x. 2 root root 4096 Sep 23  2011 sbin
drwxr-xr-x. 5 root root 4096 Aug 14  2014 share
drwxr-xr-x. 2 root root 4096 Sep 23  2011 src
drwxr-xr-x  9 root root 4096 Jan 28 15:53 tomcat_gxwp
drwxr-xr-x  2 root root 4096 Jan 28 15:52 tools
[root@iZ88rvassw1Z local]#

修改文件所属权:

[root@iZ88rvassw1Z local]# chown -R mysql:mysql mysql/
[root@iZ88rvassw1Z local]# ll
total 60
drwxr-xr-x  7 root  root  4096 Nov  1 17:24 aegis
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 bin
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 etc
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 games
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 include
drwxr-xr-x  8 uucp    143 4096 Sep 27  2014 jdk1.7.0_71
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 lib
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 lib64
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 libexec
drwxr-xr-x  9 mysql mysql 4096 Feb  5 20:03 mysql
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 sbin
drwxr-xr-x. 5 root  root  4096 Aug 14  2014 share
drwxr-xr-x. 2 root  root  4096 Sep 23  2011 src
drwxr-xr-x  9 root  root  4096 Jan 28 15:53 tomcat_gxwp
drwxr-xr-x  2 root  root  4096 Jan 28 15:52 tools
[root@iZ88rvassw1Z local]#

开始执行安装:

安装命令:

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[root@iZ88rvassw1Z bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2018-02-05T12:06:22.319404Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-02-05T12:06:23.991371Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-02-05T12:06:24.235099Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-02-05T12:06:24.333502Z 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: fc7902f7-0a6c-11e8-9528-00163e00016c.
2018-02-05T12:06:24.336727Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-02-05T12:06:24.337416Z 1 [Note] A temporary password is generated for root@localhost: UdW3pJf4c+ko
[root@iZ88rvassw1Z bin]#

clipboard

[Note] A temporary password is generated for root@localhost: UdW3pJf4c+ko

默认生成一个临时密码,通过该密码登录MySQL。

配置MySQL

登录MySQL控制台:

mysql -u root -p

输入刚才的临时密码后登录MySQL控制台。

修改root用户密码:

登录控制台后执行SQL发现报如下错误。

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

SET PASSWORD = PASSWORD('passw0rd');

clipboard

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

允许root用户远程访问:

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set host = '%' where user = 'root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select host, user from user;

+-----------+---------------+

| host | user |

+-----------+---------------+

| % | root |

| localhost | mysql.session |

| localhost | mysql.sys |

+-----------+---------------+

3 rows in set (0.00 sec)

clipboard

配置MySQL为服务

在/usr/local/mysql/目录下执行:

cp support-files/mysql.server /etc/init.d/mysqld

经过以上操作即可实现通过服务方式启动、停止MySQL。

启动:service mysqld start

停止:service mysqld stop

状态:service mysqld status

使用MySQL

创建数据库:

CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

clipboard

导入数据:

source /opt/t_analy_act_act.sql

 

完成。

原文地址:https://www.cnblogs.com/xusweeter/p/8435977.html