linux离线安装mysql数据库
前言:CDH安装使用mysql存储元数据,经常在操作过程出现权限问题,以下整理了一份安装教程。
目录
准备工作
1.下载软件包
2.检查服务器是否安装mysql
安装工作
1.创建数据目录
2.创建MySQL系统用户
2.1创建系统用户
2.2 赋予根目录mysql用户权限
3.创建数据目录并赋予用户组权限
4.修改配置文件 vi /etc/my.cnf
5.初始化数据库
6. 加入到系统服务并启动mysql
6.1 将mysql加到系统
6.2重新登录mysql
6.3重置密码
6.4 再次重启
6.5 允许所有host通过root用户访问服务器
7.以下是CDH连接数据库脚本
准备工作
1.下载软件包
在官网:MySQL :: Download MySQL Community Server 中,下载5.7.17-linux版本:
2.检查服务器是否安装mysql
rpm -qa | grep mysql
没安装进行下一步;如安装按以下方式卸载。
第一步:停止mysql服务
# 使用systemctl
sudo systemctl stop mysqld
# 或者使用service(对于旧系统)
sudo service mysqld stop第二步:卸载mysql相关服务
# 列出所有MySQL相关的包
rpm -qa | grep mysql
# 卸载特定的MySQL包依次卸载,例如:
sudo rpm -e mysql-server
第三步:清理相关文件sudo rm -rf /etc/my.cnf /etc/my.cnf.d /var/lib/mysql /var/log/mysql /usr/share/mysql /usr/lib/mysql /usr/bin/mysql*
第四步:检查
# 检查MySQL服务状态(应该显示已停止)
sudo systemctl status mysqld
# 检查是否还有MySQL相关的包安装在你的系统上
rpm -qa | grep mysql
安装工作
1.创建数据目录
# 解压文件至/usr/local/目录
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# 重命名为 mysql
mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql
2.创建MySQL系统用户
2.1创建系统用户
groupadd mysql #创建用户组
useradd -r -g mysql mysql #创建系统用户
2.2 赋予根目录mysql用户权限
chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为 mysql 用户
chgrp -R mysql /usr/local/mysql/ # 将组属性改为 mysql 组
3.创建数据目录并赋予用户组权限
mkdir -p /data/mysql #数据目录
chown mysql:mysql -R /data/mysql
4.修改配置文件 vi /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
5.初始化数据库
参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否一致)
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始密码
cat /data/mysql/mysql.err
6. 加入到系统服务并启动mysql
6.1 将mysql加到系统
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
6.2重新登录mysql
/usr/local/mysql/bin/mysql -u root -p
输入初始密码提示登录成功
注:在初始化数据库时可能报缺少xx动态库的错误
如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
第1步:查看是否安装了libaio,无返回则说明未安装,执行步骤2
rpm -qa|grep libaio
第2步:切换到root用户,使用命令yum install -y libaio进行安装
yum install -y libaio
6.3重置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES; #刷新
6.4 再次重启
退出 quit
重启服务 service mysql restart
再次登陆 /usr/local/mysql/bin/mysql -u root -p /输入刚修改的密码123456敲回车键
6.5 允许所有host通过root用户访问服务器
登录mysql,设置root访问规则,'%'表示所有节点都可以访问;
use mysql #选择访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES; #刷新