mysql单机安装_MySQL 5.6单机安装

本文详细介绍了如何在Linux系统上安装MySQL 5.6单实例,包括卸载旧版MySQL、创建数据目录、配置文件、启动与初始化,并提供了设置root用户密码的方法。同时,还讲解了通过mysqld_multi和多配置文件实现MySQL多实例的安装步骤,以充分利用服务器资源。
摘要由CSDN通过智能技术生成

一、单实例安装

上传mysql5.6安装包

1.卸载系统自带的MySQL

使用yum删除系统自带的mysql

yum -y remove mysql mysql-server

删除原始配置文件

rm -rf /etc/my.cnf

2.相关目录介绍

mysql安装包目录(mysqlbase):mysql的相关文件存放目录,我们的mysql的tar包解压后的存放目录

/usr/local/mysql

mysql数据目录:mysql数据文件存放的目录

/home/mysql3306/mysql3306

mysql日志目录:mysql日志文件存放的目录

/home/mysql3306/logs

3.安装MySQL

关于防火墙的问题,实验环境中可以关闭iptables和selinux,在生产环境中,建议咨询相关运维人员后,进行合适的操作。

(1)安装相关依赖包

大部分情况下生产环境在系统初始化的过程中已安装大部分依赖包。

yum -y groupinstall "Development tools"

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

(2)解压MySQL安装tar包

tar -xvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz

(3)复制相关目录(复制解压后的mysql到mysqlbase目录)

cp -rf mysql-5.6.25-linux-glibc2.5-x86_64  /usr/local/mysql

(4)创建MySQL用户

useradd mysql

(5)创建mysql数据目录:不支持多路径

mkdir -p  /home/mysql3306/mysql3306

(6)创建mysql日志目录

mkdir -p /home/mysql3306/logs

(7)修改相关目录权限(前后一定要mysql,否则初始化可能会报 拒绝访问)

chown mysql:mysql -R /home/mysql3306

chown mysql:mysql -R /usr/local/mysql

(8)配置文件

cp my3306.cnf  /etc/

(9)初始化mysql

这个过程实现了mysql相关系统表结构的初始化,日志初始化。需要指定安装目录、数据目录、配置文件目录、用户

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/home/mysql3306/mysql3306 --defaults-file=/etc/my3306.cnf --user=mysql

(10)启动MySQL

初始化完成后,需要启动MySQL程序,需要指定配置文件位置,在root用户下启动需要指定mysql用户,需要使用&让其后台运行,因为MySQL是单进程多线程数据库,所以启动后会有一个进程。

注:启动中有问题 查看err错误日志寻找原因。

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my3306.cnf --user=mysql &

(11)进入MySQL

初始化完成后默认没有密码。

/usr/local/mysql/bin/mysql  -S /tmp/mysql3306.sock

4.安装完成后,简单的初始化权限。

安装完后没有详细的权限设置,我们需要手动配置一些简单的权限。

(1)查看现有用户

select user,host,password from mysql.user;

(2)设置root用户密码

update mysql.user set password=password('root') where user='root';

(3)删除所有IP、用户名为空的访问

delete from mysql.user where host='::1';

delete from mysql.user where user='';

flush privileges;

命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

(4)设置MySQL的环境变量,不使用绝对路径

vi  /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

(5)设置MySQL开机启动

在/etc/rc.local里面添加启动命令,就可以实现MySQL开机启动了

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --user=mysql &

MySQL免密码登录

如果mysql密码忘记 可以开启

在配置文件中加入

[mysqld]

skip-grant-tables

重启数据库,可以直接进入mysql

二、多实例安装

意义:在mysql压力不大或服务器处理能力过剩的情况下充分利用服务器资源

原理:通过在不同的端口启动不同的mysqld服务来实现

部署多实例的两种方式

(1)通过mysqld_multi来实现mysql多实例的管理

(2)通过不同的配置文件来启动不同的mysql实例

1.使用mysqld_multi来启动MySQL多实例

(1)安装相关依赖包

大部分情况下生产环境在系统初始化的过程中已安装大部分依赖包。

yum -y groupinstall "Development tools"

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

(2)解压MySQL安装tar包

tar -xvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz

(3)复制相关目录(复制解压后的mysql到mysqlbase目录)

cp -rf mysql-5.6.25-linux-glibc2.5-x86_64  /usr/local/mysql

(4)创建MySQL用户

useradd mysql

(5)创建mysql数据目录:不支持多路径

mkdir -p  /home/mysql3306/mysql3306

mkdir -p  /home/mysql3307/mysql3307

(6)创建mysql日志目录

mkdir -p /home/mysql3306/logs

mkdir -p /home/mysql3307/logs

(7)修改相关目录权限(前后一定要mysql,否则初始化可能会报 拒绝访问)

chown mysql:mysql -R /home/mysql3306

chown mysql:mysql -R /home/mysql3307

chown mysql:mysql -R /usr/local/mysql

(8)配置文件

修改配置文件,需要把多实例配置都写在配置文件中,然后启动过程中会自动查询对应组的相关配置

Mysql_multi在查询配置文件的过程中,会进行查找[mysqld3306]和[mysqld3307],此为固定格式,3306和3307为启动过程中的group号

[client]

#port = 3306

#socket = /tmp/mysql.sock

#default-character-set=utf8

[mysql]

#default-character-set=utf8

[mysqld3306]

port = 3306

socket = /tmp/mysql3306.sock

basedir = /usr/local/mysql

datadir = /home/mysql3306/mysql3306

slow_query_log_file = /home/mysql3306/logs/slow.log

log-error = /home/mysql3306/logs/error.log

log-bin = /home/mysql3306/mysql3306/mysql-bin

binlog_format=row

[mysqld3307]

port = 3307

socket = /tmp/mysql3307.sock

basedir = /usr/local/mysql

datadir = /home/mysql3307/mysql3307

slow_query_log_file = /home/mysql3307/logs/slow.log

log-error = /home/mysql3307/logs/error.log

log-bin = /home/mysql3307/mysql3307/mysql-bin

binlog_format=row

[mysqld_multi]

mysqld=/usr/local/mysql/bin/mysqld_safe

mysqladmin=/usr/local/mysql/bin/mysqladmin

配置文件复制到/etc下面

(9)初始化mysql

这个过程实现了mysql相关系统表结构的初始化,日志初始化。需要指定安装目录、数据目录、配置文件目录、用户

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql3306/mysql3306 -defaults-file=/etc/mymu.cnf --user=mysql

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql3307/mysql3307 -defaults-file=/etc/mymu.cnf --user=mysql

(10)启动MySQL

初始化完成后,需要启动MySQL程序,需要指定配置文件位置,在root用户下启动需要指定mysql用户,需要使用&让其后台运行,因为MySQL是单进程多线程数据库,所以启动后会有一个进程。

注:启动中有问题 查看err错误日志寻找原因。

/usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/mymu.cnf start 3306

/usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/mymu.cnf start 3307

查看MySQL是否启动成功

ps -ef|grep mysql

(11)进入MySQL

初始化完成后默认没有密码。

/usr/local/mysql/bin/mysql  -S /tmp/mysql3306.sock

mysqld_multi的使用

#启动所有的mysql实例

./mysqld_multi --defaults-file=/etc/mymu.cnf start

#启动特定端口的mysql实例

./mysqld_multi --defaults-file=/etc/mymu.cnf start 3306

#查看已经启动的mysql实例

./mysqld_multi --defaults-file=/etc/mymu.cnf report

2.使用多配置文件启动MySQL多实例

多配置文件启动MySQL多实例,就是使用多个单独的配置文件,然后使用mysqld_safe启动

配置文件

cp my3306.cnf /etc/my3306.cnf

cp my3307.cnf /etc/my3307.cnf

启动MySQL

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --user=mysql &

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf --user=mysql &

进入MySQL

/usr/local/mysql/bin/mysql -S /tmp/mysql3306.sock

/usr/local/mysql/bin/mysql -S /tmp/mysql3307.sock

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值