准备装cloudera,起个mysql当作外置关系行数据库用,顺便学习下mysql的安装和使用。
1、安装
首先在oracle网站上下载了mysql的安装包,mysql-community-server依赖client、common等几个包,所以就直接下载了bundle版,由于之前自己建了个http的yum源,所以为了省事把下载的bundle包解压后用createrepo做了个yum源直接挂在了之前自己的http yum源上。要安装的主机运行下
yum makecache
yum install mysql-community-server
就直接自己分析依赖并安装了。
当然这里也可以直接用rpm -i来依次安装,过程不详述。
2、启动
安装好之后,可以使用service 来查看、重启mysql服务:
查看状态 service mysqld status
启动 service mysqld start
关闭 service mysqld stop
重启 service mysqld restart
服务未启动的情况下急性链接,会提示socket文件不存在。
新版的mysql和旧版的在第一次启动时有些不同,为了增强安全性,mysql启动时会为root生成一个随机密码,需要使用这个密码登录。如果第一次本地使用root登陆mysql时报错
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
那基本就是这个问题了。
网上关于这个问题找了很多资料,大部分都不靠谱。最后还是得跟着mysql的安装文档来。
解决方法大概有以下几种:
(1)使用随机密码登陆并修改密码
[root@t-master01 version-2]# sudo grep 'temporary password' /var/log/mysqld.log
2015-11-16T06:21:31.094692Z 1 [Note] A temporary password is generated for root@localhost: eXGyg0)3hqzl
最后这串很长的字符串就是随即密码了,使用用户名root登录,输入密码,然后就可以修改密码了
(2)启动mysql之前,使用insecure参数来初始化mysql
mysqld --initialize-insecure --user=mysql
这条命令会自动对/etc/my.cnf里面定义的datadir进行初始化,如果提示文件夹非空,由于是首次运行,mysql里面没有数据,所以直接把原来的datadir清空或者直接删掉就可以了。–user=mysql这个参数一定要加上,意思是使用mysql这个用户来对datadir进行初始化,否则可能会遇到文件权限方面的问题。
(3)使用安全模式修改密码,类似(1)
之后重启或启动mysql服务
service mysqld restart
之后就可以正常使用了