Mysql安装
关闭selinux 服务
vim /etc/selinux/config
···
SELINUX=disabled
···
卸载MariaDB
查看当前安装的mariadb包: rpm -qa | grep mariadb
强制卸载: rpm -e –nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
查看是否已经安装了MySQL
rpm -qa | grep -i mysql
find / -name mysql
删除分散mysql文件
find / -name mysql / # whereis mysql
删除配置文档
rm -rf /etc/my.cnf
再次查找机器是否安装mysql
rpm -qa|grep -i mysql
下载mysql5.6的安装包,并上传到服务器上
[root@nodeh1 mysql]# ll
total 236180
-rw-r–r– 1 root root 20278972 Sep 22 15:41 MySQL-client-5.6.31-1.el7.x86_64.rpm
-rw-r–r– 1 root root 3529244 Sep 22 15:40 MySQL-devel-5.6.31-1.el7.x86_64.rpm
-rw-r–r– 1 root root 61732192 Sep 22 15:42 MySQL-server-5.6.31-1.el7.x86_64.rpm
-rw-r–r– 1 root root 2101912 Sep 22 15:42 MySQL-shared-5.6.31-1.el7.x86_64.rpm
-rw-r–r– 1 root root 2299648 Sep 22 15:40 MySQL-shared-compat-5.6.31-1.el7.x86_64.rpm
-rw-r–r– 1 root root 59644132 Sep 22 15:40 MySQL-test-5.6.31-1.el7.x86_64.rpm
安装mysql 的安装包 注意顺序
rpm -ivh MySQL-common-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-libs-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-client-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.31-1.el7.x86_64.rpm
使用rpm安装方式安装mysql,安装的路径如下:
a 数据库目录
/var/lib/mysql/
b 配置文件
/usr/share/mysql(mysql.server命令及配置文件)
c 相关命令
/usr/bin(mysqladmin mysqldump等命令)
d 启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
e /etc/my.conf
修改字符集和数据存储路径 配置/etc/my.cnf文件,设置如下键值来启用一起有用的选项和 UTF-8 字符集.
cat /etc/my.cnf
[mysqld]
···
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
如果无法启动mysql服务
chown mysql:mysql -R /var/lib/mysql
如果遇到Access denied for user ‘root‘@’localhost’ (using password: YES)
- 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件,重启服务。
- 通过cmd行进入MySQL的bin目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库;
- 执行
mysql> use mysql;
,使用mysql数据库;mysql> update mysql.user set authentication_string=password("root") where user="root" and Host = "localhost";
- 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件
mysql> flush privileges;
mysql> quit;
初始化MySQL及设置密码
mysqld –initialize
会生成一个 root 账户密码,密码在log文件里
cat /var/log/mysqld.log2017-04-13T10:00:37.229524Z 1 [Note] A temporary password is generated for root@localhost: %kWTz,Ml?3Zs
systemctl start mysqld.service
ALTER USER ‘root‘@’localhost’ IDENTIFIED BY ‘new_password’;
设置mysql开机启动
systemctl restart mysqld.service
systemctl enable mysqld.service
设置mysql允许远程登陆
1 | mysql> use mysql; |
MySQL is running but PID file could not be found
在Linux 中,当你启动或者重启 MySQL 时,报关于 PID file 的错误
第一步:找到 mysql 中 data 目录下的 mysql-bin.index 文件,然后删除
1
2 find / -name mysql-bin.index
rm -rf /phpstudy/data/mysql-bin.index
第二步:找到 并 kill 所有关于 mysql 或者 mysqld 的进程
1 | ps -aux | grep mysql |
可以在查看下进程中是否有 mysql 进程,确保 kill 干净,再看看 还有没有 mysql-bin.index文件(进程没杀死之前可能会生成)<有必要>
命令: service mysqld status
mysqld:未被识别的服务
遇到这样的错误,是由于 /etc/init.d/ 不存在 mysqld 这个命令(有的人安装完环境后存在,是因为你的安装包中有这样的命令将 mysql.server 文件 copy 到 /etc/init.d/ 下面了)
1.首先你需要找到 mysql.server 文件,这个 和 mysqld 文件是一模一样的,只不过文件名不相同,执行命令:
1 | find / -name mysql.server |
2.copy mysql.server 文件到 /etc/init.d/ 目录下,重命名文件为 mysqld,执行命令:
1 | cp /phpstudy/mysql/support-files/mysql.server /etc/init.d/mysqld |
然后 再
service mysqld status
这个问题就解决了。
mysqld启动错误
1 | Redirecting to /bin/systemctl start mysqld.service |
安装完应该先检查一下/var/lib/mysql目录下的文件权限,执行
chown mysql:mysql -R /var/lib/mysql
然后重新启动mysql服务
service mysqld start
Hive配置过程
hive-site.xml
cp $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>new_password</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
iotmp
建立临时目录
mkdir /home/grid/hive/iotmp
关联找到hive-site.xml里面,将iotmp的对应配置修改成真实地址。
${system:java.io.tmpdir} 改为真实物理路径。
Hive启动过程
nohup hive –service metastore -v &