MYSQL 编译安装
准备工作
避免发生端口冲突,检查是否安装有mysql软件
rpm -q mysql-server mysql
配置本地yum源
修改CentOS-Media.repo 文件配置
enabled=1 //是否启用软件仓库(1启用,0不启用)默认值为1,这项可忽略
gpgcheck=1 //是否验证软件包的签名(1启用,0不启用)
gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //指定公钥文件存放位置
创建目录存放文件
mkdir back
除CentOS-Media.repo 文件 其他所有文件移到back目录下
创建挂载点
mkdir /media/cdrom
挂载镜像
mount /dev/sr0 /media/cdrom
完成本地yum源安装
我们可以进入挂载点 看
进入Packages 目录 (属于我们的一个本地仓库) 就可以开始 使用rpm 下载所需要的包了
下载依赖包
// 属于光盘自带的
[[email protected] Packages]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
安装cmake包
下载所需工具 net-tools lrzsz
拉取cmake包 mysql需要cmake 编译安装
解压camke 到/usr/src (个人习惯
执行
./configure
gmake && gmake install
注意:在编译安装后 需要去检查 是否报错 echo $? 为0 则未报错 ,除0外 都为错误
源码编译及安装
@1创建运行用户
[[email protected] cmake-2.8.6]# groupadd mysql
[r[email protected] cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
拉取mysql 压缩包
解压文件
[[email protected] ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
进入 mysql 文件所在位置
配置 (注意 -前的空格) 在编译过程中可能会出现报错 没有make 则需要下载gcc 文件
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all
echo $?
make && make install
对数据库进行权限设置
[[email protected] ~]# chown -R mysql:mysql /usr/local/mysql/
建立配置文件 /usr/local/mysql/support-files 中提供了不同负载数据库的样本配置文件
[[email protected] support-files]# cp my-default.cnf /etc/my.cnf
(可以选择直接覆盖文件,也可以提前删除/etc/my.cnf文件
初始化数据库
[[email protected] scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
设置环境变量
[[email protected] scripts]# echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
[[email protected] scripts]# . /etc/profile
添加系统服务
将mysql添加为系统服务,以便chkconfig进行管理,可以直接使用源码包中的mysql.server脚本文件 复制到 /etc/rc.d/init.d/mysqld目录下。并改名为mysqld
[[email protected] support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
设置权限
[[email protected] support-files]# chmod +x /etc/rc.d/init.d/mysqld
执行chkconfig命令将其添加为mysqld系统服务
[[email protected] support-files]# chkconfig --add mysqld
[email protected] httpd-2.4.38]# chkconfig --list | grep mysqld
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 ‘systemctl list-unit-files’。
查看在具体 target 启用的服务请执行
‘systemctl list-dependencies [target]’。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
启动mysql服务后 查看端口 是否开启 默认3306
查看端口3306
[email protected] httpd-2.4.38]# netstat -antp | grep mysqld
tcp6 0 0 :::3306 ::😗 LISTEN 36944/mysqld
登录mysql数据库
经过初始化后 管理员为root 但密码为空
设置密码
[[email protected] ~]# mysql_secure_installation
完成安装
密码修改 也可以使用 mysql -uroot password '*******'格式