前不久开始学习部署ambari,在安装mysql的时候遇到了点问题,现在从网上找了点部署流程记录下来便于以后安装mysql。
首先要安装yum,如下:
tar xvf yum-x.x.x.tar.gz
cd yum-x.x.x
yummain.py install yum
以上为记忆中的大致流程。
CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源
rpm <span class="hljs-attribute">-ivh mysql57<span class="hljs-attribute">-community<span class="hljs-attribute">-release<span class="hljs-attribute">-el7<span class="hljs-subst">-<span class="hljs-number">8.noarch<span class="hljs-built_in">.rpm <span class="hljs-subst">--nodeps <span class="hljs-subst">--<a href="http://www.php.cn/wiki/125.html" target="_blank">for</a>ce</span></span></span></span></span></span></span></span></span>
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo
yum install mysql-server
查看MySQL服务是否已启动
service mysqld status
如果未启动,可以使用下面指令启动服务
<code class="hljs sql has-numbering">service mysqld start<br/>or<br/>systemctl <span class="hljs-operator"><span class="hljs-keyword">start mysqld</span></span></code>
MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。
可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:
<span class="hljs-keyword">grep <span class="hljs-string">'temporary password' /var/<span class="hljs-keyword">log/mysqld.<span class="hljs-keyword">log</span></span></span></span>
修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)
mysql <span class="hljs-attribute">-u root <span class="hljs-attribute">-p
mysql<span class="hljs-subst">> Enter password: (输入刚才查询到的随机密码)
mysql<span class="hljs-subst">> <span class="hljs-built_in">SET PASSWORD FOR <span class="hljs-string">'root'@<span class="hljs-string">'localhost'<span class="hljs-subst">= <span class="hljs-string">"Root-123";
mysql<span class="hljs-subst">> exit</span></span></span></span></span></span></span></span></span></span>
用root新密码登录:
mysql <span class="hljs-attribute">-u root <span class="hljs-attribute">-pRoot<span class="hljs-subst">-<span class="hljs-number">123</span></span></span></span>
如果上面的方式不能修改可以使用下面安全模式修改root:
关闭服务 systemctl stop mysqld.service vi /etc/my.cnf mysqld下面添加skip-grant-tables 保存退出启动服务 systemctl start mysqld.service mysql -u root 不用密码直接回车 use mysql update user set authentication_string=password('Root-123') where User='root' and Host='localhost'; flush privileges; exit; vi /etc/my.cnf 把 skip-grant-tables 一句删除保存退出重启mysql服务 systemctl restart mysqld.service 再次登录即可 mysql -u root -pRoot-123如果进行操作出现下面的提示: You must reset your password using ALTER USER statement before executing this statement. 就再设置一遍密码 set password = password('Root-123');
允许使用用户名root密码Root-123456从任何主机连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root-123456' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit;
开启防火墙mysql 3306端口的外部访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
<span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment">总结 </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
上面比较详细地配置了mysql,可以使用systemctl restart mysqld.service启动后,在查看mysql的状态使用指令(ps -ef|grep mysql)显示当前配置和状态。刚开始学习这块,还是有很多不懂的地方,希望各位大神指点。
以上是如何在Linux系统下安装 Mysql的详细内容。更多信息请关注PHP中文网其他相关文章!