下载
rpm -qa | grep mysql # 查看是否安装了自带mysql
cd /usr/local
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
安装
1. 解压
cd /usr/local
tar zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.33-linux-glibc2.12-x86_64 /usr/local/mysql
rm -f mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
2.
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/database
mkdir -p /usr/local/mysql/data/relay
mkdir -p /usr/local/mysql/data/binlog
mkdir -p /usr/local/mysql/data/tmp
chmod -R 777 /usr/local/mysql/data
touch /usr/local/mysql/data/error.log
touch /usr/local/mysql/data/mysql.sock
touch /usr/local/mysql/data/mysql.pid
3. 可以忽略 创建 mysql 用户组和 mysql 用户
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql
cd mysql
主目录权限处理(查看是否有就得用户 有删除并新建用户)
查看组和用户情况 cat /etc/group | grep mysql
查看组和用户情况 cat /etc/passwd |grep mysql
若存在 则删除原mysql用户 userdel -r mysql 会删除其对应的组和用户并在次查看
创建mysql组 groupadd mysql
创建mysql用户 useradd -r -g mysql mysql
修改目录拥有者 chown -R mysql:mysql /usr/local/mysql
配置my.cnf
cp /etc/my.cnf /etc/my.cnf.bak
my.cnf 配置先删除原有的所有配置信息 然后添加新的进去
初始化数据库 使用 mysqld 安装
cd /usr/local/mysql/bin
#root 用户
./mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/database
#mysql 用户
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/database
密码
注意
1.执行上述语句进行初始化时 有可能打印出的显示信息中包括默认的登录密码 root@localhost: 该随机数字字母为自动生成的登录密码
如果执行上述语句进行初始化时 没有任何打印信息的话 那么cat /usr/local/mysql/data/error.log文件中即能找到 root@localhost: 该随机数字字母为自动生成的登录密码
2.如果使用随机密码也无法登录mysql的话 那么需要重新执行如下步骤
1.删除 /usr/local/mysql 目录下的 database文件夹 然后执行 mkdir /usr/local/mysql/database
2.cd /usr/local/mysql/bin
重新初始化 ./mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/database
3.service mysql restart重启mysql后 再使用新的随机密码登录mysql
3.如果执行上述语句时报错 ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
需要安装命令 yum install -y libaio
再执行 ./mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/database
/etc/profile环境变量配置
vim /etc/profile
export PATH="$PATH":/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export MYSQL_HOME=/usr/local/mysql
export PATH="$PATH":"$MYSQL_HOME"/bin
source /etc/profile
开机服务启动设置
1. 第一种方法 目前使用这种即可 cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
第二种方法 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2. 第一种方法 目前使用这种即可 chmod 777 /etc/init.d/mysql
第二种方法 chmod 777 /etc/init.d/mysqld
cd /etc/init.d
ll 查看到有mysql文件
3.chkconfig --list mysql 查看mysql服务是否在服务配置中
最后一行 显示 service mysql supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add mysql')
翻译为 服务mysql支持chkconfig 但没有在任何运行级别中引用 运行'chkconfig --add mysql'
因此需要把mysql注册为开机启动的服务
第一种方法 目前使用这种即可 chkconfig --add mysql
第二种方法 chkconfig --add mysqld
然后再进行查看 chkconfig --list
显示 mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如果看到mysql的服务 并且3,4,5都是on的话则成功 如果是off 则键入
chkconfig --level 2345 mysql on
chkconfig --level 2345 mysqld on
启动服务
mysql服务注册成功后 便可以使用以下命令进行启动 或 停止mysql
service mysql start 显示 Starting MySQL. SUCCESS!
service mysql stop
service mysql status
service mysql restart
或者也可以使用 安全启动 方式
cd /usr/local/mysql/bin
./mysqld_safe --user=root &
查看mysql进程是否启动成功 ps -ef | grep mysql
创建快捷方式
已把mysql的bin目录路径配置到环境变量/etc/profile中后则不需要再创建快捷方式
ln -s /usr/local/mysql/bin/mysql /usr/bin
服务启动后 直接运行 mysql -u root -padmin 即可登录 不需要进入到/usr/local/mysql/bin目录
登录
cd /usr/local/mysql/bin
./mysql -u root -p # 该随机数字字母为自动生成的登录密码
set password = password('123456');
grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;
exit
CDH 初始化
-- 建立CM、Hive等需要的表(可以一次性粘贴执行完所有句子)
create database metastore default character set utf8;
CREATE USER 'hive'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON metastore. * TO 'hive'@'%';
FLUSH PRIVILEGES;
create database cm default character set utf8;
CREATE USER 'cm'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON cm.* TO 'cm'@'%';
GRANT ALL PRIVILEGES ON cm. * TO 'cm'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
create database am default character set utf8;
CREATE USER 'am'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON am. * TO 'am'@'%';
FLUSH PRIVILEGES;
create database rm default character set utf8;
CREATE USER 'rm'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON rm. * TO 'rm'@'%';
FLUSH PRIVILEGES;
create database hue default character set utf8;
CREATE USER 'hue'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON hue. * TO 'hue'@'%';
FLUSH PRIVILEGES;
create database oozie default character set utf8;
CREATE USER 'oozie'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON oozie. * TO 'oozie'@'%';
FLUSH PRIVILEGES;
create database sentry default character set utf8;
CREATE USER 'sentry'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON sentry. * TO 'sentry'@'%';
FLUSH PRIVILEGES;
create database nav_ms default character set utf8;
CREATE USER 'nav_ms'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nav_ms. * TO 'nav_ms'@'%';
FLUSH PRIVILEGES;
create database nav_as default character set utf8;
CREATE USER 'nav_as'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nav_as. * TO 'nav_as'@'%';
FLUSH PRIVILEGES;
JDBC驱动
mkdir -p /usr/share/java
cd /usr/share/java #把 mysql-connector-java-5.1.46.jar 拷贝到该目录下
chmod 777 mysql-connector-java-5.1.47.jar
ln -s mysql-connector-java-5.1.47.jar mysql-connector-java.jar
GRANT ALL PRIVILEGES ON am. * TO 'am'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON rm. * TO 'rm'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON hue. * TO 'hue'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON oozie. * TO 'oozie'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON sentry. * TO 'sentry'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON nav_ms. * TO 'nav_ms'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON nav_as. * TO 'nav_as'@'%';
FLUSH PRIVILEGES;