1. mysql安装
① 卸载系统自带的mysql相关安装包,仅卸载mysql开头的包
[root@masternode1 mysql-5.6.25]# rpm -qa|grep mysql
mysql-libs-5.1.73-3.el6_5.x86_64
[root@masternode1 mysql-5.6.25]# rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
② 安装依赖包
[root@masternode1 mysql-5.6.25]# yum install gcc gcc-c++ ncurses-devel -y
③ 安装cmake
下载cmake安装包
[rootp@masternode1 cmake-2.8.12]$ wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
[root@masternode1 cmake-2.8.12]$ tar zxvf cmake-2.8.12.tar.gz
[root@masternode1 cmake-2.8.12]$ cd cmake-2.8.12 && ./bootstrap && make && make install
④ 创建mysql用户的相应目录
[root@masternode1 ~]# groupadd mysql
[root@masternode1 ~]# useradd -g mysql mysql
[root@masternode1 ~]# mkdir -p /dbonedata/opt/mysql/ -----MySQL的安装文件路径
[root@masternode1 ~]# mkdir -p /dbonedata/opt/mysql/data-----MySQL的存放数据的路径
[root@masternode1 ~]# mkdir -p /dbonedata/opt/mysql/log -----MySQL的存放日志的路径
⑤ 获取MySQL安装包并安装
wget http://dev.mysql.com/get/downloads/mysql/mysql-5.6.25.tar.gz
[root@masternode1 hadoop]]$ tar zxvf mysql-5.6.25.tar.gz
[root@masternode1 hadoop]]$ cd mysql-5.6.25
注意:chmod 756 /dbonedata/opt/mysql/ 最好修改为777
原因:
-DMYSQL_UNIX_ADDR=/dbonedata/opt/mysql/mysql.sock 必须目录有写的权限,
或者-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 只需/tmp有写的权限即可
chmod 756 /tmp Chown mysql:mysql /tmp
因此DMYSQL_UNIX_ADDR最好配置/tmp/mysql.scok
[root@masternode1 mysql-5.6.25]$ cmake -DCMAKE_INSTALL_PREFIX=/dbonedata/opt/mysql -DMYSQL_UNIX_ADDR=/dbonedata/opt/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/dbonedata/opt/mysql/data/ -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1-DENABLE_DOWNLOADS=1
若提示cmake命名不能运行,之后执行如下即可
export PATH=/dbonedata /cmake-2.8.12/bin/:$PATH
注释:其中 -DCMAKE_INSTALL_PREFIX=/dbonedata/opt/mysql -----MySQL的安装文件路径
-DMYSQL_DATADIR=/dbonedata/opt/mysql/data/
可能出现的问题:
执行之后会在mysql安装目录下多出一个source_downloads文件夹,手动下载包gmock-1.6.0.zip(版本根据提示更改),下载之后再次执行上边cmake命令,成功后继续安装
[root@masternode1e mysql-5.6.25]# make && make install
⑥ 创建软连接
[root@masternode1 ~]#ln -s /dbonedata/opt/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
⑦ 修改配置文件
[root@masternode1 mysql-5.6.25]# cp support-files/my-default.cnf /etc/my.cnf
注释:其中support-files/my-default.cnf 为/dbonedata/opt/mysql 这个安装文件的目录下的配置文件
[root@masternode1 mysql-5.6.25]$ vi /etc/my.cnf
datadir=/dbonedata/opt/mysql/data
log-error=/dbonedata/opt/mysql/mysql_error.log
pid-file=/dbonedata/opt/mysql/data/mysql.pid
socket=/dbonedata/opt/mysql/mysql.sock
user=mysql
⑧ 创建启动文件
[root@masternode1 ~]# cp /dbonedata/opt/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@masternode1 ~]# chmod 756 /etc/init.d/mysqld
[hadoop@slavenode1 mysql-5.6.25]# mysqld -uroot -h127.0.0.1 –p
可能出现的问题:
bash: mysqld: command not found
解决方法如下:
ln -s /dbonedata/opt/mysql/bin/mysql /usr/bin/mysql
⑨ 初始化数据库
[root@masternode1 ~]$ chmod 756 /dbonedata/opt/mysql/scripts/mysql_install_db
注释:/scripts/mysql_install_db 为/dbonedata/opt/mysql 这个安装目录下的配置文件
[[root@masternode1mysql-5.6.25]$/dbonedata/opt/mysql/scripts/mysql_install_db
--user=mysql --basedir=/dbonedata/opt/mysql --datadir=/dbonedata/opt/mysql/data/ --defaults-file=/etc/my.cnf
注释:/scripts/mysql_install_db 为/dbonedata/opt/mysql 这个安装目录下的配置文件
[root@masternode1 mysql-5.6.25]# chmod +x /etc/init.d/mysqld
[root@masternode1 mysql-5.6.25]# chkconfig mysqld on
⑩ 启动MySQL服务
[root@masternode1 mysql-5.6.25]# service mysqld start
Starting MySQL. SUCCESS!
如果提示没有