linux下多个mysql5.7.19(tar.gz)安装图文教程

所属分类: 数据库 / Mysql 阅读数: 492
收藏 0 赞 0 分享

初级第一次在Linux下安装MySQL-5.7.19版本教程请看上一篇,如果已经会安装了,那么请看这篇linux下安装多个mysql-5.7.19

环境:centos 6.5

1-下载

 

2-跳过登陆

 

3-1安装多个数据库需要配置自己的my.cnf,如果只安装一个,系统没有安装过直接这个命令就可以

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
查看下有没有data目录如果没有的话增加个命令(mkdir data)
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

安装好了就可以直接跳到登陆 步骤5

下面说安装多个mysql情况:

3-2安装多个数据库需要安照如下命令:

1-增加配置文件 my.cnf (在mysql目录下命令touch my.cnf):

下面配置文件可以直接使用粘贴复制进去

然后创建log文件 /xcxyz/log/mysql/error.log

[mysqld]
basedir= /usr/local/mysql-5.7.19-3307
datadir = /usr/local/mysql-5.7.19-3307/data
port = 3307
character-set-server=utf8
server_id = 11
#该socket最好指定,不指定的话默认的话 是使用的默认的socket文件 而且登陆数据库的时候会有我下面的问题
socket = /tmp/mysql3307.sock 
log-error = /xcxyz/log/mysql/error.log
pid-file = /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid

2-执行如下命令

2-1增加用户 组 我的用户和组都使用的是mysqlosf这个随意

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

2-2建立软连接:

shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files

查看下有没有data目录如果没有的话增加个命令(mkdir data)

2-3授权当前目录:

shell> chmod 750 mysql-files
shell> chown -R mysqlosf .
shell> chgrp -R mysqlosf .

2-4编译

bin/mysqld --defaults-file=/usr/local/full-path-to-mysql-VERSION-OS/my.cnf --initialize --user=mysqlosf 

查看日志输出:vi /xcxyz/log/mysql/error.log
2017-07-24T03:13:47.933684Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-07-24T03:13:49.979892Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-07-24T03:13:50.262941Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-07-24T03:13:50.330756Z 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: 1d702294-701e-11e7-98a1-00163e30bbf6.
2017-07-24T03:13:50.340474Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-07-24T03:13:50.344419Z 1 [Note] A temporary password is generated for root@localhost: jZpgHhigx5>i(特别重要一会初始化密码)

2-5建立密钥

shell> bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf  

这里写图片描述 

2-6重新授权分配

shell> chown -R root .
shell> chown -R mysql data mysql-files

2-7启动后台mysql

bin/mysqld_safe --defaults-file=/usr/local/full-path-to-mysql-VERSION-OS/my.cnf --user=mysqlosf &

Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server

2-8查看mysql是否启动 ps -ef | grep mysql

4登陆mysql修改密码使用刚才的临时密码

 

我这里又出问题了哈哈,始终登陆不上去

Access denied for user 'root'@'localhost' (using password:YES)解决方法最下面

如果登陆上去了可以直接使用刚才的临时密码登陆并且设置密码

5-登录MySQL之后,要求立即修改密码,否则不能进行任何操作。执行下面的命令修改'root'@'localhost'的密码:

SET PASSWORD = PASSWORD('root');
 ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 
flush privileges;

6-为了可以远程登录,增加一个'root'@'%'账号:

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; 

7-本地测试连接

按照上面的办法,继续解压安装mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz,并且配置为3308,3309端口,就可以安装多个mysql了。

解决方案安装好了登陆不上去:
如果像我上面一样的话
原因是如下红色框内的英文 我的是第二个mysql需要指定socket和port,英文意思就是说 如果你没有指定socket的话那么会选择默认的 因为我们安装多个mysql 所以这个必须指定

mysql --socket=/tmp/mysql3307.sock --port=3307 -uroot -p

如果这里不小心丢失了密码了或者密码过期了那么可以通过这个方式重置密码:

这里写图片描述 

5-重置密码:

5-1关闭进程

kill `cat /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid`

5-2创建文件mysql-init

 

5-2-1文件内容

第一种内容:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysqlosf';

这里写图片描述 

保存内容之后启动

复制代码 代码如下:
bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf  --init-file=/usr/local/mysql-5.7.19-3307/mysql-init    --user=mysqlosf     &

如果上述内容不成功选择第二种内容

UPDATE mysql.user
 SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
 WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

这里写图片描述 

保存内容之后启动

复制代码 代码如下:
bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf  --init-file=/usr/local/mysql-5.7.19-3307/mysql-init   --user=mysqlosf     &

这里写图片描述

精彩专题分享:mysql不同版本安装教程 mysql5.7各版本安装教程 mysql5.6各版本安装教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

mysql多表连接查询实例讲解

本篇文章中给大家通过实例代码讲述了mysql多表连接查询的方法,有需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

MySQL设置global变量和session变量的两种方法详解

这篇文章主要介绍了MySQL设置global变量和session变量的两种方法,每种方法给大家介绍的非常详细 ,需要的朋友可以参考下
收藏 0 赞 0 分享

8种手动和自动备份MySQL数据库的方法

作为流行的开源数据库管理系统,MySQL的使用者众多,为了维护数据安全性,数据备份是必不可少的。本文就为大家介绍几种适用于企业的数据备份方法,需要的朋友可以参考下
收藏 0 赞 0 分享

使用JDBC连接Mysql数据库会出现的问题总结

这篇文章主要给大家介绍了关于使用JDBC连接Mysql数据库会出现的问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Ubuntu中MySQL的参数文件my.cnf示例详析

这篇文章主要给大家介绍了关于Ubuntu中MySQL的参数文件my.cnf的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

解决启动MongoDB错误:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:

本文提供了解启动MongoDB时提示:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: 错误的解决方案
收藏 0 赞 0 分享

PHP定时备份MySQL与mysqldump语法参数详解

本文为大家介绍了PHP利用mysqldump命令定时备份MySQL与mysqldump语法参数大全以及定时备份的PHP实例代码
收藏 0 赞 0 分享

定时备份 Mysql并上传到七牛的方法

常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、mysqldump 全量逻辑备份、xtrabackup 增量逻辑备份等。这篇文章主要介绍了定时备份 MySQL 并上传到七牛 ,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

本文全面讲解了MySQL中锁包括表锁,行锁,共享锁,排它锁,间隙锁的详细使用方法
收藏 0 赞 0 分享

MySQL中的排序函数field()实例详解

这篇文章主要给大家介绍了关于MySQL中排序函数field()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多