准备:
mysql-5.7.17-Linux-glibc2.5-x86_64.tar.gz
1.删除之前安装的mysql或者本机自带的
https://blog.csdn.net/qq_43510893/article/details/104764172
2.Mysql依赖于libaio库
yum search libaio
yum install libaio
以下步骤均为root操作
3.分别执行以下步骤安装Mysql
cd /usr/local
tar -zxvf /opt/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /opt/
ln -s /opt/mysql-5.7.17-linux-glibc2.5-x86_64 mysql
cd mysql
mkdir mysql-files
bin/mysqld --initialize --user=mysql
如果这一步报错如下:
[ERROR] --initialize specified but the data directory has files in it. Aborting.
解决方案:
rm -rf /var/lib/mysql/
重新执行上面的命令,提示生成了一个临时密码:
2017-01-03T09:12:33.748807Z 1 [Note] A temporary password is generated for root@localhost: =*-gFoje>1Pr
执行这一步应该生成一个data目录,如果没有生成,那一定是因为系统中存在已经安装好了的mysql,先按照步骤2卸载掉,然后重新执行
bin/mysqld --initialize --user=mysql
bin/mysql_ssl_rsa_setup
chown -R root .
chown -R mysql data mysql-files
bin/mysqld_safe --user=mysql &
4.安装后的配置
修改/usr/local/mysql/support-files/my-default.cnf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
改完之后复制一份到/etc/目录下,重命名为my.cnf
cp my-default.cnf /etc/my.cnf
添加mysql环境变量
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=
M
Y
S
Q
L
H
O
M
E
/
b
i
n
:
MYSQL_HOME/bin:
MYSQLHOME/bin:PATH
source /etc/profile
5.启动mysql
cd /usr/local/mysql/support-files
./mysql.server start
如果报错-bash: /usr/local/mysql/bin/mysql: No such file or directory
参考:https://www.cnblogs.com/dch0/p/11175443.html
启动成功:
[root@ambari support-files]# service mysqld start
Starting MySQL.Logging to ‘/usr/local/mysql/data/ambari.err’.
. [ OK ]
[root@ambari support-files]# service mysqld status
MySQL running (8010) [ OK ]
**执行这一步的时候有可能会导致启动不成功,错误信息大概如下:
MySQL: Starting MySQL…… ERROR! The server quit without updating PID file
可参照如下链接解决:
https://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-file/**(可直接删除/etc/my.cnf或者在启动之后再执行cp my-default.cnf /etc/my.cnf)
6.修改root密码:
采用mysql -uroot -p
登录的时候,输入前面记录的root密码,提示密码不正确,没办法,我们只好自己去修改root密码了
具体步骤如下:
step1:
vim /etc/my.cnf
在[mysqld]下添加一行skip-grant-tables
step2:
service mysqld restart后,即可直接用mysql进入
mysql> update mysql.user set authentication_string=password(‘root’) where user=‘root’ and Host = ‘localhost’;
mysql> flush privileges;
mysql> quit;
step3:
将/etc/my.cnf文件还原,重新启动mysql:service mysqld restart,这个时候可以使用mysql -u root -p’root’进入了
step4:
进入到sql后以后在通过如下命令修改一次密码,否则无法进行其他操作:
mysql> SET PASSWORD = PASSWORD(‘mysql’);
step5:
在sql控制台执行show databases;结果如下:
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
4 rows in set (0.00 sec)
7.Navicat远程登录Mysql
先授权:
mysql>grant all privileges on *.*to ‘root’@’%’ identified by ‘root’;
flush privileges;
打开Navicat输入Centos的地址,用户,密码即可连接。
鉴于以上教程,在本人后续使用MySQL5.7配置hive是发现schematool -initSchema -dbType mysql会出现找不到关于mysql的某个文件,导致无法初始化hive元数据,这里放一下没有的那个文件mysql缺失的部分