编译安装MySQL-5.6.36

安装mysql所依赖的插件

yum install -y gcc gcc-c++ automake autoconf git make

yum -y install cmake bison-devel ncurses-devel libaio-devel

1.1 下载mysql-5.6.36版本的mysql

cd   /opt/

yum install -y wget

wget https://downloads.mysql.com/archives/get/file/mysql-5.6.36.tar.gz

1.2 更改/tmp/目录-防止报错

chmod 1777 /tmp

1.3 冷编译写入程序中

tar -xf mysql-5.6.36.tar.gz

cd   mysql-5.6.36

cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.6.36 \

-DMYSQL_DATADIR=/opt/mysql-5.6.36/data \

-DMYSQL_UNIX_ADDR=/opt/mysql-5.6.36/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_ZLIB=bundled \

-DWITH_SSL=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_DEBUG=0

1.4 编译 && 安装

make && make install

1.5 进行创建用户

useradd -s /sbin/nologin mysql -M

1.6 建立软连接

ln -s /opt/mysql-5.6.36  /opt/mysql

1.7 初始化及配置数据库

cd   /opt/mysql

cp support-files/my*.cnf /etc/my.cnf     ----默认有了,进行覆盖。

1.8 mysql的初始化

/opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data

1.9 进行授权

chown -R mysql.mysql /opt/mysql/

1.10 进行mysql的启动脚本的配置

cp support-files/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld

1.11 进行启动

/etc/init.d/mysql   start

1.11.1 第一个错误

#####当mysql启动时会产生socket(套接字)文件,路径是/application/mysql-5.6.36/tmp/但是默认没有该目录,需创建

mkdir  -p  /opt/mysql-5.6.36/tmp/

1.11.2 第二个错误

####mysql普通用户行编译安装的时候指定的信息会在文件中记录下来.make---->程序没有权限写入

chown  -R  mysql.mysql /opt/mysql-5.6.36/

1.11.3 常见第三个错误

ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db01.pid).

解决思路:

1.权限.chown -R mysql.mysql

2.killall mysqld

3.重新初始化数据.

4.运行1年了,出问题(非法(断电)关机或者非法关数据库,例如kill -9).

======================================

#这个错误源于这个配置

#-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock

 

#解决

mkdir /opt/mysql-5.6.36/tmp

chown -R mysql.mysql /opt/mysql-5.6.36/tmp

1.12 进行添加到开机自启

chkconfig mysqld on

chkconfig --list mysqld

1.13 进行检查

启动:netstat   -lntup  |grep mysql

开机:chkconfig  |grep   mysql

1.14 添加mysql命令的路径

vim /root/.bash_profile

添加:

Mysql命令的绝对路径

source  /root/.bash_profile

 

1.15 设置MySQL密码

mysqladmin -uroot password123456

1.16 进行MySQL的用户规划

select user,host from mysql.user;      --查询数据库中已有用户

 

mysql 用户: 用户名@'主机域'

 

drop user ''@'db02';

drop user ''@'localhost';

drop user 'root'@'db02';

drop user 'root'@'::1';

drop user 'root'@'127.0.0.1';

select user,host from mysql.user;

drop database test;

show databases;

 

二.MySQL多实例

1.17 搭建三个多实例

1.18 创建多实例的目录(日志、socket

mkdir -p /data/330{7,8,9}

1.19 进行MySQL的初始化(独立的数据)

/opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/huchangxi/3307

1.20 独立的端口

独立的端口(3307、3308、3309)

1.21 进行配置MySQL的安装路径,数据存放地,套接字的路径

命令:cat /huchangxi/3307/my.cnf(3307)

[mysqld]

basedir=/huchangxi/mysql

datadir=/huchangxi/3307

socket=/huchangxi/3307/mysql.sock

log-error=/huchangxi/3307/mysql.log

log_bin=/huchangxi/3307/mysql-bin

binlog_format=row

skip_name_resolve=1

server_id=3307

port=3307

 

命令:cat /huchangxi/3308/my.cnf(3308)

[mysqld]

basedir=/opt/mysql

datadir=/huchangxi/3308

socket=/huchangxi/3308/mysql.sock

log-error=/huchangxi/3308/mysql.log

log_bin=/huchangxi/3308/mysql-bin

binlog_format=row

skip_name_resolve=1

server_id=3308

port=3308

命令:cat /huchangxi/3309/my.cnf(3309)

[mysqld]

basedir=/opt/mysql

datadir=/huchangxi/3309

socket=/huchangxi/3309/mysql.sock

log-error=/huchangxi/3309/mysql.log

log_bin=/huchangxi/3309/mysql-bin

binlog_format=row

skip_name_resolve=1

server_id=3309

port=3309

(配置启动完成)

1.22 启动多实例

1.22.1 通过命令命令启动

mysqld_safe --defaults-file=/huchangxi/3307/my.cnf &

 

mysqld_safe --defaults-file=/huchangxi/3308/my.cnf &

 

mysqld_safe --defaults-file=/huchangxi/3309/my.cnf &

 

######进行检查

netstat -lnp|grep 330

1.22.2 通过脚本启动

window的文件夹

1.23 配置文件的读取顺序

/etc/my.cnf   

/etc/mysql/my.cnf   

$MYSQL_HOME/my.cnf

~/.my.cnf   

--defaults-extra-file

生效的是后面的

注意:

1、如果设置了 --defaults-file=/tmp/aa.txt,会忽略以上所有的配置信息

2、如果命令行中设置了和配置文件中的参数重复,最终会以命令行为准

 

mysqld_safe --socket=/mnt/mysql.sock &

1.24 进入MySQL

mysql -S /huchangxi/3307/mysql.sock

mysql -S /huchangxi/3308/mysql.sock

mysql -S /huchangxi/3309/mysql.sock

 

posted @ 2018-09-27 09:24  呼长喜  阅读(877)  评论(0编辑  收藏  举报