最近发现一台机子上没有装Mysql就给装了下,折腾了好长时间
mysql 包下载地址 https://dev.mysql.com/downloads/mysql/
检查下是否有残留的mysql
[root@localhost Desktop]$ rpm -qa | grep mysql
mysql-libs-5.1.52-1.el6_0.1.x86_64
卸载遗留的mysql
[root@localhost ~]# rpm -e mysql-libs-5.1.52.x86_64 --nodeps
3.创建mysql组和用户。
[root@localhost ~]#groupadd mysql
[root@localhost ~]#useradd -r -g mysql mysql
//useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
4.创建安装目录:
[root@hdp-slave1 /]# mkdir usr/local/mysql
5.用xftp将文件上传到mysql目录下,并解压
[root@hdp-slave1 mysql]# tar xvf mysql-5.7.21-linux-glibc2.5-x86_64.tar
6.发现多了一层目录,又用xftp拷贝回来,删除目录再传了一次,最后mysql下的结构
[root@hdp-slave1 mysql]# ll
total 56
drwxr-xr-x. 2 mysql mysql 4096 Jan 23 14:15 bin
-rw-r--r--. 1 mysql mysql 17987 Jan 23 14:14 COPYING
drwxr-x---. 5 mysql mysql 4096 Jan 24 06:02 data
drwxr-xr-x. 2 mysql mysql 4096 Jan 23 14:15 docs
drwxr-xr-x. 3 mysql mysql 4096 Jan 23 14:15 include
drwxr-xr-x. 5 mysql mysql 4096 Jan 23 14:16 lib
drwxr-xr-x. 4 mysql mysql 4096 Jan 23 14:16 man
-rw-r--r--. 1 mysql mysql 2478 Jan 23 14:16 README
drwxr-xr-x. 28 mysql mysql 4096 Jan 23 14:16 share
drwxr-xr-x. 2 mysql mysql 4096 Jan 23 14:16 support-files
7.安装和初始化数据库
[root@hdp-slave1 mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
当然目录 data不存在
[root@hdp-slave1 mysql]# mkdir data
[root@localhost mysql]# cp -a ./support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# cd bin/
[root@localhost bin]# ./mysqld_safe --user=mysql &
[root@localhost bin]# /etc/init.d/mysqld restart
[root@localhost bin]# chkconfig --level 35 mysqld on
生成初始化密码,一定要记住,要不后面无法登陆:
[root@localhost bin]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2016-06-01 15:23:25
,xxxxxR5H9
[root@localhost bin]# ./mysql -uroot -p
Enter password: //将xxxxxR5H9输入至此
更改root 的密码为 123456
mysql> SET PASSWORD = PASSWORD('123456');
mysql> flush privileges; //切记需要刷新,要不无法生效
8.添加远程访问权限
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
9.到此已经全部安装完成,但是远程通过navicat mysql 依然无法连接到mysql上,出现10060错误,网上查了下是因为防火墙问题:
解决的办法是支持linux3306端口添远程访问权限
[root@localhost bin]# cat /etc/sysconfig/iptables
用xftp 将文件回传到本地
切记一定要将这条命令添加在最开头,原因参考:
http://blog.sina.com.cn/s/blog_4c197d4201017rgl.html
[root@hdp-slave1 mysql]# service iptables stop 、、关闭防火墙
[root@hdp-slave1 mysql]# service iptables start、、重新打开防火墙
ok问题全部解决.