MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5、5.6、5.7、8.0)

Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装

参考: http://blog.itpub.net/26736162/viewspace-2144261/

Windows下安装MySQL


------Windows下安装MySQL:使用管理员权限,已在windows 10、Windows7、XP上测试通过,XP不支持5.7及其以上版本
--- 5.5、5.6、5.7、8.0 默认密码都为空,8.0数据库需要8.0的客户端才能无密码登录
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --initialize-insecure --user=mysql  --console --basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64 --datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\data803314
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld install mysql803314 --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\mysql803314.ini"
mysqld --initialize-insecure
mysqld install mysql573306
net start  mysql573311
mysql -uroot -p -P3308
--5.5、5.6、5.7修改密码和允许远程登陆
update mysql.user set authentication_string=password("lhr") where user="root";
update mysql.user set Host="%" where Host="127.0.0.1";
update mysql.user set Host="%" where Host="localhost";
set password=password('lhr');
grant all privileges on *.* to root@'%' identified by 'lhr';
flush privileges;
--8.0修改密码和允许远程登陆
update mysql.user set Host="%" where Host="localhost";
update mysql.user set authentication_string='' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr'; -- 多执行几次
flush privileges;
select user,host from mysql.user;
--mysql 8.0远程连接,在参数文件的[mysqld]下添加:
default_authentication_plugin=mysql_native_password
--mysql 8.0.15忘记密码,修改密码:http://blog.itpub.net/26736162/viewspace-2650907/
1、停止服务
2、管理员权限执行:D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\mysql803314.ini" --console --skip-grant-tables --shared-memory
3、mysql -uroot -p -P3308 #无密码登录
update mysql.user set authentication_string='' where user='root';
4、退出,关闭第2步的console,重新空密码登录
5、修改密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr';
----同版本安装多实例
1、拷贝源库的data文件夹为data3307,删除里边的业务数据库,对于5.6版本需要保留默认数据库mysql、performance_schema、test,对于5.7和8.0版本需要所有数据库都删除
2、拷贝源库的my.ini文件到data3307目录下命名my3307.ini,并修改相关参数:basedir、datadir、port等
2、初始化:
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --initialize-insecure --user=mysql --basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64 --datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\data3307
3、安装服务:
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld install mysql563307 --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\data3307\my3307.ini"
注意:1、可以不拷贝源软件为新的文件夹。当然也可以拷贝一份全新的环境。2、每个实例的配置文件必须是单独的。
----------------my3307.ini参数文件内容
[mysqld]
port        = 3313
basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64
datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\data
tasklist | findstr mysql

Linux下MySQL安装


tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql57
mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719
-- tar -Jxf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
-- mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql80/mysql8016
groupadd mysql      ## 添加一个mysql组
useradd -r -g mysql mysql    ## 添加一个用户
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用户禁止登录shell
chown -R mysql.mysql /usr/local/mysql57
--- 5.5、5.6  --MySQL 5.5、5.6的二进制安装默认密码为空
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf
./bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf &
--MySQL 5.7.6之后的版本初始化数据库不再使用mysql_install_db
./bin/mysqld --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql57/mysql5719 --datadir=/usr/local/mysql57/mysql5719/data
./bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf &
--同一个版本新建多个实例,和普通安装一样,重新设置配置文件和data文件、端口号
--- mysql -uroot -p -S/usr/local/mysql55/mysql5557/data/mysql55573310.sock
cp mysql57193308.cnf mysql57193309.cnf
./bin/mysqld --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql57/mysql5719 --datadir=/usr/local/mysql57/mysql5719/data57193309
./bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193309.cnf &
---5.5、5.6、5.7修改密码和允许远程登陆
set password=password("lhr");
grant all privileges on *.* to root@'%' identified by 'lhr';
flush privileges;
--8.0修改密码和允许远程登陆
update mysql.user set Host="%" where Host="localhost";
update mysql.user set authentication_string='' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr'; -- 多执行几次
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr';
flush privileges;
select user,host from mysql.user;
--mysql 8.0远程连接,在参数文件的[mysqld]下添加:
default_authentication_plugin=mysql_native_password
----------------mysql57193308.cnf参数文件内容
[mysqld]
port=3308
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sock
server_id=57193308
log-bin
--配置开机启动,不适合多实例情况
cp ./support-files/mysql.server /etc/init.d/mysql57193308
chmod 755 /etc/init.d/mysql57193308
chkconfig --add mysql57193308
chkconfig mysql57193308 on
chkconfig --level 345 mysql57193308 on
service mysql57193308 start
---Linux启动MySQL
/usr/local/mysql55/mysql5557/bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf &
/usr/local/mysql55/mysql5557/bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573311.cnf &
/usr/local/mysql56/mysql5637/bin/mysqld_safe --defaults-file=/usr/local/mysql56/mysql5637/mysql56373312.cnf &
/usr/local/mysql56/mysql5637/bin/mysqld_safe --defaults-file=/usr/local/mysql56/mysql5637/mysql56373313.cnf &
/usr/local/mysql57/mysql5719/bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf &
/usr/local/mysql57/mysql5719/bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193309.cnf &
/usr/local/mysql80/mysql8016/bin/mysqld_safe --defaults-file=/usr/local/mysql80/mysql8016/mysql80163314.cnf &
/usr/local/mysql80/mysql8016/bin/mysqld_safe --defaults-file=/usr/local/mysql80/mysql8016/mysql80163315.cnf &
---Linux关闭MySQL
/usr/local/mysql55/mysql5557/bin/mysqladmin -u root -plhr -S/usr/local/mysql55/mysql5557/data/mysql55573310.sock shutdown
/usr/local/mysql55/mysql5557/bin/mysqladmin -u root -plhr -S/usr/local/mysql55/mysql5557/data55573311/mysql55573311.sock shutdown
/usr/local/mysql56/mysql5637/bin/mysqladmin -u root -plhr -S/usr/local/mysql56/mysql5637/data/mysql56373312.sock shutdown
/usr/local/mysql56/mysql5637/bin/mysqladmin -u root -plhr -S/usr/local/mysql56/mysql5637/data56373313/mysql56373313.sock shutdown
/usr/local/mysql57/mysql5719/bin/mysqladmin -u root -plhr -S/usr/local/mysql57/mysql5719/data/mysql57193308.sock shutdown
/usr/local/mysql57/mysql5719/bin/mysqladmin -u root -plhr -S/usr/local/mysql57/mysql5719/data57193309/mysql57193309.sock shutdown
/usr/local/mysql80/mysql8016/bin/mysqladmin -u root -plhr -S/usr/local/mysql80/mysql8016/data/mysql80163314.sock shutdown
/usr/local/mysql80/mysql8016/bin/mysqladmin -u root -plhr -S/usr/local/mysql80/mysql8016/data80163315/mysql80163315.sock shutdown
启动全部实例:mysqld_multi start
查看全部实例状态:mysqld_multi report
启动单个实例:mysqld_multi start 3306
停止单个实例:mysqld_multi stop 3306
查看单个实例状态:mysqld_multi report 3306
---------------------- /etc/my.cnf 管理多实例
[mysqld_multi]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
log=/usr/local/mysql80/log/mysqld_multi.log
user=root
password=lhr
[client]
port=3308
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sock
user=root
host=localhost
password=lhr
[mysql]
default-character-set=utf8
[mysqld56213306]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
log-bin
basedir=/usr
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
slow_query_log=1
slow_query_log_file=/var/lib/mysql/rhel6lhr-slow.log
[mysqld55573310]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
port=3310
basedir=/usr/local/mysql55/mysql5557
datadir=/usr/local/mysql55/mysql5557/data
socket=/usr/local/mysql55/mysql5557/data/mysql55573310.sock
server_id=55573310
log-bin
[mysqld55573311]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
port=3311
basedir=/usr/local/mysql55/mysql5557
datadir=/usr/local/mysql55/mysql5557/data55573311
socket=/usr/local/mysql55/mysql5557/data55573311/mysql55573311.sock
server_id=55573311
log-bin
[mysqld56373312]
mysqld=/usr/local/mysql56/mysql5637/bin/mysqld_safe
mysqladmin=/usr/local/mysql56/mysql5637/bin/mysqladmin
port=3312
basedir=/usr/local/mysql56/mysql5637
datadir=/usr/local/mysql56/mysql5637/data
socket=/usr/local/mysql56/mysql5637/data/mysql56373312.sock
server_id=56373312
log-bin
[mysqld56373313]
mysqld=/usr/local/mysql56/mysql5637/bin/mysqld_safe
mysqladmin=/usr/local/mysql56/mysql5637/bin/mysqladmin
port=3313
basedir=/usr/local/mysql56/mysql5637
datadir=/usr/local/mysql56/mysql5637/data56373313
socket=/usr/local/mysql56/mysql5637/data56373313/mysql56373313.sock
server_id=56373313
log-bin
[mysqld57193308]
mysqld=/usr/local/mysql57/mysql5719/bin/mysqld_safe
mysqladmin=/usr/local/mysql57/mysql5719/bin/mysqladmin
port=3308
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sock
server_id=57193308
log-bin
[mysqld57193309]
mysqld=/usr/local/mysql57/mysql5719/bin/mysqld_safe
mysqladmin=/usr/local/mysql57/mysql5719/bin/mysqladmin
port=3309
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data57193309
socket=/usr/local/mysql57/mysql5719/data57193309/mysql57193309.sock
server_id=57193309
log-bin
[mysqld80163314]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
port=3314
basedir=/usr/local/mysql80/mysql8016
datadir=/usr/local/mysql80/mysql8016/data
socket=/usr/local/mysql80/mysql8016/data/mysql80163314.sock
default_authentication_plugin=mysql_native_password
server_id=80163314
log-bin
[mysqld80163315]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
port=3315
basedir=/usr/local/mysql80/mysql8016
datadir=/usr/local/mysql80/mysql8016/data80163315
socket=/usr/local/mysql80/mysql8016/data80163315/mysql80163315.sock
default_authentication_plugin=mysql_native_password
server_id=80163315
log-bin

Windows重新注册


首先切换到MySQL的bin目录下,执行如下命令:
mysqld remove
mysqld install
------Windows下卸载MySQL
① 关闭MySQL相关进程后并停止MySQL服务(services.msc)
② 命令行执行:sc delete mysql或mysqld remove
③ 删除所有MySQL文件
④ regedit打开注册表,删除以下位置的3个文件夹:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL

MySQL命令:


查看错误: perror 错误号
Oracle为oerr ora 01555
mysql -uroot -h192.168.59.130 -plhr
mysql -uroot -h192.168.59.130 -P3306 -plhr
mysql --html -t -f --silent  <  mysql_check_lhr_v1.3.0.sql
mysql -h192.168.1.63 -uroot -plhr -P3306 --html -t  -f --silent  <  mysql_check_lhr_v1.3.0.sql
---修改提示符
export MYSQL_PS1="(\u@\h) [\d]> "
prompt (\u@\h) [\d]>
prompt (\u@\h) [\d]>\_
prompt (\U) [\d]>\_
prompt \u@\d>\_
prompt \R:\m:\s>\_
prompt (\u@\h) [\d] \R:\m:\s>\_
[oracle@edsir1p8-EMREP ~]$ more .bashrc
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi
export PS1="[\u@\h-\`echo \$ORACLE_SID\` \W]$ "
--杀死mysql
killall mysqld


About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人微 信公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● 微 信群:可加我微 信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由

● 于 2019-07-01 06:00 ~ 2019-07-31 24:00 在西安完成

● 最新修改时间:2019-07-01 06:00 ~ 2019-07-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/

● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客户端 扫描下面的二维码来关注小麦苗的微 信公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗微 信, 学习最实用的数据库技术。

........................................................................................................................

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2651051/,如需转载,请注明出处,否则将追究法律责任。

MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5、5.6、5.7、8.0)相关推荐

  1. 关于《在Windows与.NET平台上的持续交付实践》的问答录

    <在Windows与.NET平台上的持续交付实践>(Continuous Delivery with Windows and .Net)(免费下载)是由Matthew Skelton与Ch ...

  2. mysql多实例配置安装_Mysql 多实例安装配置方法一

    Mysql 多实例安装配置方法一 环境: 操作系统:ubutun 11.1 Mysql版本:mysql-5.5.19(二进制) 其他方法:mysqld_multi 以下步骤:在192.168.129. ...

  3. MongoDb Windows linux平台环境及主流编程语言驱动安装同时配置mongoDb的远程连接

    MongoDb Windows linux平台环境及主流编程语言驱动安装同时配置mongoDb的远程连接 <一,>MongoDB 简介篇Ruiy; MongoDB是一个高性能,开源,无模式 ...

  4. 用C读取INI配置文件 (可在linux平台上用)

    /*c语言实现,可在linux平台上用了,在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取.ini配置文件内容,但是在Linux ...

  5. Linux平台上的音视频互动开发平台

    由于使用习惯,Linux在中国受欢迎程度远不如windows,相应的软件也比较少,尤其是音视频类的软件,但是,这并不代表就完全没有.下面介绍一款强大的音视频即时通讯平台给大家,它就是--Anychat ...

  6. 【DG】在Linux平台上搭建单实例的dataguard--duplicate

    [DG]在Linux平台上搭建单实例的dataguard--duplicate 一 : 实验环境介绍 *** 鉴于生产环境均采用 64 位系统和数据库软件,本实验也将采用这个标准 *** 采用vmwa ...

  7. linux 安装邮件系统,在Linux平台上安装基于Postfix、Courier-imap、Extmail的邮件系统 V 0...

    很久之前就计划写一个Postfix在Linux平台上面的安装文档,把自己安装Postfix的过程总结一下,但由于工作的关系直到现在才动手.和个人的习惯有关,在安装过程中我使用了很多源代码,这对一个新手 ...

  8. Linux平台上直接运行Android应用,手机移动开发技术

    选择安装/卸载 当然选择同意了 下一步 下一步 很快安装成功 安装体验和大多数Windows平台的应用一致. 不过最好安装之前更新一下系统,不然安装过程中也会执行的,偶尔还会出错. ####安装过程中 ...

  9. GNU/Linux平台上正则表达式的简单使用

    友情提醒:本博文涉及的内容中涉及到的系统实践操作在Centos6.5上实现,GNU/Linux简称为linux,GNU/grep简称为grep,GNU/sed简称为sed,GNU/gawk简称为awk ...

最新文章

  1. 让Python代码简洁的实用技巧!
  2. Charles 4.2.1 HTTPS抓包
  3. Face Recognition 人脸识别
  4. 疫情之下,将业务迁移至云端会是一个正确的选择吗?
  5. iPhone/Mac Objective-C内存管理教程和原理剖析
  6. ES5和ES6中对于继承的实现方法
  7. 太原理工微型计算机控制试卷,太原理工大学微机原理考试(13届葬仪落整理).docx...
  8. Linux学习笔记二十——系统裁剪之二
  9. idea自动导包_IDEA已经世界第一了,听说你还不会?
  10. C++二维vector初始化
  11. linux看caj文件格式,CAJ 文件扩展名: 它是什么以及如何打开它?
  12. NOIP 模拟题 小G的城堡
  13. Linux裸机开发|LCD背光调节实验
  14. 英特尔核显驱动hd630_英特尔首款独显Xe Max 评测出炉:低于移动端 GTX 1050 Ti
  15. 王之泰201771010131《面向对象程序设计(java)》第八周学习总结
  16. zblog微信小程序模板-青春主题小程序免费开源模板
  17. 关于JAVA Graphics2D种drawLine方法参数说明
  18. 家居收纳风行,东芝冰箱足以装下你想要的品质生活
  19. java getdate和getday,jq里面,如何用getDate()和getDay()函数遍历出当月的所有日子和星期?...
  20. 知道两点坐标,怎么计算两点方向的方位角

热门文章

  1. 【博学谷学习记录】超强总结,用心分享|产品经理需求分析方法简析
  2. 【转】linux下杀死进程(kill)的N种方法
  3. 一个提问答题网站stackoverflow
  4. 西安交大计算机在线作业答案,西安交大电路在线作业及答案.docx
  5. API 接口测试,用这个开源的工具准没错
  6. mysql级联删除_每天学一点学点MySQL数据库之第二节
  7. 原件常识:以“光”为传媒的光电耦合器
  8. kmeans算法练习
  9. opencv教程CV2模块——图片处理,HSV、色调、亮度调节
  10. Linux系统之iftop的基本使用