直接看安装总结
参考:http://www.osyunwei.com/archives/7891.html
下载包
[root@localhost zabbix]pwd
/root/zabbix
[root@localhost zabbix]# wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.19.tar.gz
解包
[root@localhost zabbix]# tar -xf mysql-5.6.19.tar.gz
[root@localhost zabbix]# cd mysql-5.6.19/
[root@localhost mysql-5.6.19]# useradd mysql ---##数据库用户
[root@localhost mysql-5.6.19]# id mysql
uid=1002(mysql) gid=1002(mysql) groups=1002(mysql)
[root@localhost mysql-5.6.19]#cd ..
[root@localhost zabbix]# mkdir myData ----##数据库数据的存放目录
[root@localhost zabbix]# chown -R mysql.mysql myData ----##数据目录权限
[root@localhost zabbix]# mkdir /usr/local/mysql ----##创建安装目录,不用改权限
[root@localhost zabbix]# cd mysql-5.6.19/
[root@localhost mysql-5.6.19]# yum install -y cmake --##安装cmake 因为Cmake产生标准的建构档makefile
[root@localhost mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/root/zabbix/myData -DSYSCONFDIR=/etc
[root@localhost mysql-5.6.19]# make
make: *** No targets specified and no makefile found. Stop.
这里没有生成makefile说明cmake没有成功。
查看cmake编译后的末尾
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.*************
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:417 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
See also "/root/zabbix/mysql-5.6.19/CMakeFiles/CMakeOutput.log".
See also "/root/zabbix/mysql-5.6.19/CMakeFiles/CMakeError.log".
[root@localhost mysql-5.6.19]# make
make: *** No targets specified and no makefile found. Stop.
尝试解决:
[root@localhost mysql-5.6.19]# yum install -y ncurses-devel ---##上面加*的地方有解决的建议
[root@localhost mysql-5.6.19]# rm -rf CMakeCache.txt
[root@localhost mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/root/zabbix/myData -DSYSCONFDIR=/etc
还是报错
[root@localhost mysql-5.6.19]# rm -rf CMakeCache.txt
[root@localhost mysql-5.6.19]#yum -yinstall make bison gcc-c++ cmake ncurses ncurses-devel[root@localhost mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/root/zabbix/myData -DSYSCONFDIR=/etc -DENABLE_DOWNLOADS=1成功:
-- Configuring done-- Generating done-- Build files have been written to: /root/zabbix/mysql-5.6.19
编译&安装
[root@localhost mysql-5.6.19]# make ---##要等很久,百分之百
[root@localhost mysql-5.6.19]# make install
[root@localhost mysql-5.6.19]# cd /usr/local/mysql/
[root@localhost mysql]# rm -rf /etc/my.cnf ---##删去默认的配置文件。
初始化数据库
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/root/zabbix/myData
[root@localhost mysql]# ln -s /usr/local/mysql/my.cnf /etc/my.cnf ##配置文件软连接
加入开机启动
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld##Mysql加入系统启动
[root@localhost mysql]# chkconfig mysqld on --------------##加入开机启动项
[root@localhost mysql]# vim /etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql
datadir=/root/zabbix/myDate
#Mysql加入系统启动
[root@localhost mysql]# chkconfig mysqld on --------------##加入开机启动项
[root@localhost mysql]# vim /etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql
datadir=/root/zabbix/myDate
启动失败:
[root@localhost mysql]# systemctl start mysqld
Warning: mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost mysql]# systemctl daemon-reload
[root@localhost mysql]# systemctl status mysqld.service报这个错误:Jan 22 04:59:24 localhost.localdomain mysqld[81409]: Starting MySQL. ERROR! The server quit without updating PID file (/root/zabbix....pid).
[root@localhost mysql]# tail -n20 /root/zabbix/myData/localhost.localdomain.err
2018-01-22 22:00:25 23097 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
180122 22:00:25 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
经过各种尝试,我莫名解决了,命令执行没有错,是数据目录的问题。
安装总结:
1、下载,解包
#tar -xf mysql-5.6.19.tar.gz
2、切到包目录,安装依赖包、cmake、gcc-c++
# cd mysql-5.6.19/
#yum -y install make bison gcc-c++ cmake ncurses ncurses-devel
3、创建安装目录
#mkdir /usr/local/mysql
4、创建数据库用户
#useradd mysql
5、cmake 编译后面带路径,指明安装目录、数据存放目录、配置文件目录
6、make && make install
#make install
这个阶段安装完毕,
7、删去系统默认的配置文件/etc/my.cnf,不想删就备份
#mv /etc/my.cnf /etc/my.cnf.bk
8、将安装目录下的my-default.cnf 文件拷到/etc/下更名为my.cnf
# cd /usr/local/mysql/support-files/
#cp my-default.cnf /etc/my.cnf
ps:后来发现7,8这两步是没有意义的,因为mysql起作用的配置文件是/usr/local/mysql/my.cnf
9、创建数据目录并修改所有者权限为mysql ----##我觉得我有错就是数据目录的原因
#mkdir /data/mysql -p
#chown -R mysql:mysql /data/mysql
10、数据库初始化,指明,用户、安装目录,数据存放目录
#cd /usr/local/mysql/scripts/
11、设置系统启动
数据目录里的mysql.server拷贝到/etc/rc.d/init.d/下,并改名为mysqld
#cd /usr/local/mysql/support-files/
#cp mysql.server /etc/rc.d/init.d/mysqld
#ll /etc/rc.d/init.d/mysqld
修改配置里的路径
#vim /etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
12、设置开机自启
#chkconfig mysqld on
13、启动数据库。
#systemctl start mysqld
14.测试
#/usr/local/mysql/bin/mysql