mysql 5.5.46源码包下载地址(搜狐镜像站)
1.mysql源码包获取http://mirrors.sohu.com/mysql/(搜狐镜像站)
#wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.46.tar.gz
使用windows下载的可以使用工具:
winscp
xftp
传输至linux(当然还有其他的方式)
2.mysql依赖包安装:
所需依赖包:
gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*
检查系统是否安装所需依赖包:
rpm -qa | grep XXX <注:XXX为需要查询的包名>
*缺少的依赖包使用 yum install XXX 安装
如果没有安装<则使用yum进行安装>
3.创建用户mysql
useradd mysql1
ex:
4.创建mysql自定义目录(如编译时指定安装目录,数据存放目录等)
mkdir /home/mysql1/mysql
mkdir /home/mysql1/mysql/pid
mkdir /home/mysql1/msyql/log
mkdir /home/mysql1/mysql/conf
ex:
5.进入mysql源码包下载解压下载的mysql源码包
tar zxf XXX.XXX.tar.gz <注:XXX为你下载的包名> 可使用-v参数查看解压过程
ex:
tar zxvf mysql-5.5.46.tar.gz
ex:
6.进入解压后的mysql_5.5.46
cd mysql_5.5.46
调整编译参数:(编译参数可以查阅附件mysql编译参数)
cmake -DCMAKE_INSTALL_PREFIX=/home/mysql1/mysql - DMMYSQL_DATADIR=/home/mysql1/mysql/data \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=bundled -DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 -DWITH_PARTITION_STORAGE_ENGINE=1
6_2:cmake完毕后使用
echo $? 检验是否出错<非0即为报错>
ex:
6_3:没有报错则编译
make && make install
静静的等待编译完成.....
6_4:安装完毕,echo $?校验,安装成功!
7.此时查看/home/mysql1/mysql目录下,是不是多了这么多东西,嘿嘿,我们继续下一步任务
7_1: 配置 /etc/my.cnf (因为今天教程目的不是着重讲解配置文件,只做基本的配置调整)
如果 /etc目录下面不存在my.cnf,我们可以手动创建,记得赋予相应的权限
sudo chown mysql1.mysql1 -R /home/mysql1/mysql/
sudo touch /etc/my.cnf #创建my.cnf,如果不存在
sudo chown mysql1.mysql1 /etc/my.cnf #修改my.cnf配置文件拥有者
/etc/my.cnf为mysql默认调用配置文件,我们在启动时其实也可以使用 --defaults-file=path指定配置文件路径<这里需要注意一点,配置文件需要以my.cnf命名>
[mysqld1]
#sock存放位置
socket = /home/mysql1/mysql/run/mysqld.sock
#侦听端口
port = 3306
#pid文件存放位置
pid-file = /home/mysql1/mysql/run/mysqld.pid
#数据存放位置
datadir = /home/mysql1/mysql/data
7_2:进入mysql安装目录
7_2_1:初始化数据库
/home/mysql1/mysql/scripts/mysql_install_db --basedir=/home/mysql1/mysql --user=mysql1 --datadir=/home/mysql1/mysql/data
7_2_1:启动数据库服务<指定配置文件>
cd /home/mysql1/mysql ; /home/mysql1/mysql/bin/mysqld_safe --defaults-file='/home/mysql1/mysql/my.cnf' &
7_2_3:检查端口侦听状态
netstat -lunt
8.防火墙放行
sudo iptables -I INPUT 2 -s 0.0.0.0/0 -p tcp --dport=3308 -j ACCEPT
9.连接数据库
可以使用cli命令,也可以使用图形化工具连接数据库(navicat mysql),root密码默认无法远程登录
9_2:创建mysql用户
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
9_3:赋予pig用户权限(我这里赋予了最高权限)
GRANT ALL ON *.* TO 'pig'@'%';
9_4:新建一个测试库
CREATE DATABASE ZABBIX;
9_5:刷新权限表
flush privileges;
9_6:远端测试连接
最终结果:
我们看到了的确存在zabbix库
操作结束,本教程并没有完善启动脚本等,有需求楼主会贴出脚本代码~