目标
理解线上部署考虑的因素
学会编译安装以及二进制安装mysql
学会升级mysql
学会多实例部署mysql数据库
学会合理部署mysql线上库
考虑因素:
版本选择,5.1,5.5还是5.6?
分支选择,官方社区版?percona server?mariadb?
推荐官方版,简单易上手
安装方式,包安装?二进制包安装?源码安装?
线上推荐二进制包安装
路径配置,参数配置(尽量模板化,标准化)
一个实例多个库,or多个实例单个库?
二进制安装mysql
下载软件安装包
解压放到指定目录(比如/usr/local)并将mysql目录放到PATH中
初始化实例,编辑配置文件 并启动
账号安全设置
1)下载
2)解压到指定目录,并将mysql目录放到PATH中
#tar -zxf mysql-5.5.50-linux2.6-i686.tar.gz
#mv mysql-5.5.50-linux2.6-i686 /usr/local/
#cd /usr/local
#mv mysql-5.5.50-linux2.6-i686 mysql55
#cd mysql55/bin
#export PATH=/usr/local/mysql55/bin:$PATH
3)初始化实例 使用脚本mysql_install_db
#mkdir -p /tmp/mysqldata/node1
#/usr/local/mysql55/script/mysql_install_db --user=mysql --basedir=/usr/local/mysql55 --datadir=/tmp/mysqldata/node1
#cd /tmp/mysqldata/node1
出现问题1 没有libaio.so.1库
/tmp/mysql55/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:查询libaio库并按照libaio.so.1
查询
aiapple@aiapple:/tmp$ sudo apt-cache search libaio
libaio-dev - Linux kernel AIO access library - development files
libaio1 - Linux kernel AIO access library - shared library
libaio1-dbg - Linux kernel AIO access library - debugging symbols
安装
aiapple@aiapple:/tmp$ sudo apt-get install libaio1
初始化成功:
aiapple@aiapple:/usr/local/mysql/data$ ls -l /tmp/mysqldata/node1/
total 12
drwx------ 2 aiapple aiapple 4096 7月 27 21:27 mysql
drwx------ 2 aiapple aiapple 4096 7月 27 21:27 performance_schema
drwx------ 2 aiapple aiapple 4096 7月 27 21:25 test
拷贝配置文件:support-files中拷贝my-medium.cnf
cp /usr/local/mysql56/support-files/my-medium.cnf /tmp/mysqldata
3)使用mysqld_safe脚本,启动
/usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
问题2:没有/usr/local/mysql/data 目录
View Code
解决:创建目录并赋权
aiapple@aiapple:/usr/local$ sudo mkdir -p mysql/data
aiapple@aiapple:/usr/local/mysql$ sudo chown -R aiapple .
aiapple@aiapple:/usr/local/mysql$ sudo chgrp -R aiapple .
问题3:不存/usr/local/mysql/bin/mysqld 文件