Linux环境下MySQL5.7安装记录
参考文档
《Installing MySQL on Unix/Linux Using Generic Binaries》
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
卸载旧版本MySQL
查看当前Linux环境中是否已经安装了MySQL。
执行命令:rpm -qa|grep mysql
查看状态:service mysqld status
停止服务: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。
上传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]#
[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');
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)
配置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;
导入数据:
source /opt/t_analy_act_act.sql
完成。