1、软件下载

https://dev.mysql.com/downloads/file/?id=479096

免编译二进制包
mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
2、解压和迁移

tar -xvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 /usr/local/mysql
3、关闭iptables

临时关闭:service iptables stop 
永久关闭:chkconfig iptables off
4、关闭selinux

vi /etc/sysconfig/selinux  
将SELINUX修改为DISABLED,即SELINUX=DISABLED
5、创建mysql用户

groupadd -g 27 mysql
useradd -u 27 -g mysql mysql
id mysql
uid=501(mysql) gid=501(mysql) groups=501(mysql)
6、创建相关目录

mkdir -p /data/mysql/ {mysql_3306,mysql_3307}
mkdir /data/mysql/mysql_3306/ {data,log,tmp}
mkdir /data/mysql/mysql_3307/ {data,log,tmp
7、更改目录权限

chown -R mysql:mysql /data/mysql/ 
chown -R mysql:mysql /usr/local/mysql/
8、添加环境变量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile 
source /etc/profile  
9、复制my.cnf文件到etc目录

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注意:5.7的版本可能已经没有改配置文件了
所有可以使用我提供的文件  (好像不能插入文件,可以给我留言,或者使用低版本的文件也是一样的)
注意my.cnf 存放的目录尽量保持到 /etc/下面且不好更换文件名 ,因为5.7的版本安装是不能指定 --defaults-file 这个属性的 所以放在该目录下就好了
10、修改my.cnf(在一个文件中修改即可)

[client]  
port=3306  
socket=/tmp/mysql.sock  
 
[mysqld_multi]  
mysqld = /usr/local/mysql /bin/mysqld_safe  
mysqladmin = /usr/local/mysql /bin/mysqladmin  
log = /data/mysql/mysqld_multi.log  
 
[mysqld]  
user=mysql  
basedir = /usr/local/mysql  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
 
[mysqld3306]  
mysqld=mysqld  
mysqladmin=mysqladmin  
datadir=/data/mysql/mysql_3306/data  
port=3306  
server_id=3306  
socket=/tmp/mysql_3306.sock  
log-output=file  
slow_query_log = 1  
long_query_time = 1  
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log  
log-error = /data/mysql/mysql_3306/log/error.log  
binlog_format = mixed  
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin  
   
[mysqld3307]  
mysqld=mysqld  
mysqladmin=mysqladmin  
datadir=/data/mysql/mysql_3307/data  
port=3307  
server_id=3307  
socket=/tmp/mysql_3307.sock  
log-output=file  
slow_query_log = 1  
long_query_time = 1  
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log  
log-error = /data/mysql/mysql_3307/log/error.log  
binlog_format = mixed  
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin
 
 11、初始化数据库 
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf  
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf
注意5.7版本的是没有 scripts 这个文件夹的 而且mysql_install_db这种安装方式以及放弃了 使用新的安装方式 
/usr/local/mysql/bin/mysqld --initialize 其他不变  如果报错 则把 --defaults-file=/etc/my.cnf 参数删掉即可,默认是从 路径是/etc
注意注意注意:在比较高的版本如mysql5.7在初始化之后会生成root账户的随机密码如图所示,如果喜欢清屏的小伙伴那就惨了,不过这个也就把data里面的内容闪电重新初始化一次的事

 
12、检查数据库是否初始化成功
在/data/mysql/mysql_3306/data 目录下查看数据生成 以下文件
auto.cnf  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.pid  performance_schema  test
13、设置启动文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
14、mysqld_multi进行多实例管理

启动全部实例:/usr/local/mysql/bin/mysqld_multi start
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report 
启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306 
停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306 
查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306 
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
查看mysql进程
]#  netstat -tlnap | grep mysql  
15、mysql修改密码
mysql的root用户初始密码是空,所以需要登录mysql进行修改密码,下面以3306为例(mysql5.7版本是有初始密码的,前文已经提到): 
mysql -S /tmp/mysql_3306.sock   
set password for root@'localhost'=password('123456'); 
flush privileges;
下次登录:
[root@mysql ~]# mysql -S /tmp/mysql_3306.sock -p
Enter password:
16、账户授权
一般新建数据库都需要新增一个用户,用于程序连接,这类用户只需要insert、update、delete、select权限。
新增一个用户,并授权如下: 
grant select,delete,update,insert on *.* to admin@'192.168.0.%' identified by '123456'; 
flush privileges;
 
以上内容大多转载来自 https://www.cnblogs.com/xuchenliang/p/6843990.html

linux 下mysql多实例安装的更多相关文章

  1. linux下mysql多实例安装

    1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...

  2. linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html   1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...

  3. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...

  4. Windows下MySQL多实例安装/主从复制/重置密码

    Windows创建MySQL多实例 安装MYSQL和实例1 运行mysql-installer-community-5.7.16.0.msi 选择组件 MySQL Server 5.7.16 – X6 ...

  5. linux下mysql基础从安装到基本使用

    在LINUX下安装MYSQL #需要的安装包(按照先后顺序) libdbi-devel--2.1 libdbi--2.1 libdbi-drivers- perl-DBI-.el5 perl-DBD- ...

  6. windows下mysql多实例安装

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  7. centos下mysql多实例安装3306、3307实例(2014-10-15)

    背景说明       mysql的安装方法有多种,如二进制安装.源代码编译安装.yum安装等.yum安装仅仅能安装mysql 5.1 版本号:源代码安装编译的过程比較长.若没有对源代码进行改动且要求使 ...

  8. Linux下MySQL多实例部署记录

    什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端 ...

  9. linux下Mysql多实例实现

    什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:: My ...

随机推荐

  1. ROS中使用Kinect摄像头和usb摄像头

    1.安装的一些包  kinect用的freenect: $ sudo apt-get install ros-indigo-freenect-launch $ sudo apt-get install ...

  2. MySQL常用dos命令

    MySQL的基本目录 登陆MySQL 查看数据库 Show databases; 创建数据库 Create database 数据库的名字; 标准创建语句: Create database if no ...

  3. Docker初始

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...

  4. 4、网上收集Storm 讲解图

    1.Storm与Kafka集成 我们知道storm的作用主要是进行流式计算,对于源源不断的均匀数据流流入处理是非常有效的, 而现实生活中大部分场景并不是均匀的数据流,而是时而多时而少的数据流入,这种情 ...

  5. Linux服务器 XAMPP后添加PHP和MYSQL环境变量

    编辑/etc/profile文件 在文件末尾添加两行代码 vi /etc/profile CentOS: PATH=$PATH:/opt/lampp/bin export PATH Ubuntu: e ...

  6. 依据word模板批量生成试卷

    java-word-MassProduction 目录 使用方法 开发流程 一.使用方法 1.制造题库所需Word模板 需要填充数据的地方使用 ${pid} 代替. 将这个word选择另存为,保存格式 ...

  7. Centos7.2(linux)minimal install之后需要的操作

    minimal install之后,很多命令都不存在,例如ifconfig, wget等等 首先,需要先配置网络,保证机器可以连上互联纲 ip addr可以查看网卡的基本信息 一般默认就只有两个,一个 ...

  8. spring-petclinic性能调优实战(转)

    1.spring-petclinic介绍 spring-petclinic是spring官方做的一个宠物商店,结合了spring和其他一些框架的最佳实践. 架构如下: 1)前端 Thymeleaf做H ...

  9. Linux 设置系统时间和时区2.Ubuntu

    查看当前时间状态 timedatectl status 设置时区 sudo dpkg-reconfigure tzdata Asia shanghai

  10. CF Round #551 (Div. 2) D

    CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...