CentOS 7默认移除了mysql,yum install mysql
安装的是mariadb,它是Mysql的一个分支。
下面我们可以去官网找到mysql的yum链接,使用wget
命令来下载rpm包,这个包是mysql源
的安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
下载完成后我们开始安装
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
i 代表 install 安装,v代表 verbose 显示安装信息,h代表hash打印hash值。
然后我们执行yum来安装真正的mysql
yum install mysql-server
当然我们可以将上面的两句话合并
yum localinstall mysql57-community-release-el7-11.noarch.rpm
安装完成后,我们就可以开启mysql了
systemctl start mysqld
可以查看mysql服务的状态
systemctl status mysqld
然后我们登录mysql
mysql -u root -p
然后需要输入密码,默认的密码在 /var/log/mysqld.log
中,这个文件是存储mysql服务的日志,mysql在安装的时候会默认为root
用户生成一个密码,里面有一行A temporary password for root : XXXXXX
,这个就是临时密码了。
这个时候我们可能会遇到连接失败的错误
connect to server at 'localhost' failed error:
'Access denied for user 'root'@'localhost' (using password: YES)'
不想翻墙百度老半天没结果,最后翻墙谷歌了一下,立马就解决了。
首先编辑文件 /etc/my.cnf
vi /etc/my.cnf
然后在[mysql]
下面加上 skip-grant-tables
,保存退出,然后重启mysql,可以免密码登录
mysql -u root -p
不用输入密码直接回车。
下面输入 flush privileges;
来刷新权限
然后我们修改 mysql库中的user表中的root的密码
alter user 'root'@'localhost' identified by 'newpassword';
然后我们把/etc/my.cnf
中的 skip-grant-tables
删除
然后重启mysql
systemctl stop mysqld
systemctl start mysqld
最后我们就可以使用新的密码来连接mysql了
mysql -u root -p