zabbix之mysql安装

本文详细记录了MySQL5.6版本从源码安装的全过程,包括环境准备、依赖包安装、编译配置、数据库初始化及系统启动配置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接看安装总结

参考: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
还是报错
查了资料:https://www.cnblogs.com/kezf/p/linux_mysql-5-6-19.html
是因为缺少很多依赖包的原因。
 
[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 编译后面带路径,指明安装目录、数据存放目录、配置文件目录

 

 #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
 

 

6、make && make install

 

        #make    ----////时间有点长
 #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/

 #./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 

 

11、设置系统启动
  数据目录里的mysql.server拷贝到/etc/rc.d/init.d/下,并改名为mysqld
   #cd /usr/local/mysql/support-files/
        #cp mysql.server /etc/rc.d/init.d/mysqld   

 
   查看他的权限是不是755         

   #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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值