背景

  前不久开始学习部署ambari,在安装mysql的时候遇到了点问题,现在从网上找了点部署流程记录下来便于以后安装mysql。

Centos 7.2 安装 Mysql 5.7.13

首先要安装yum,如下:

wget http://yum.baseurl.org/download/x.x/yum-x.x.x.tar.gz
tar xvf yum-x.x.x.tar.gz

cd yum-x.x.x
yummain.py install yum

以上为记忆中的大致流程。

1. 下载mysql的repo源

CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源

  • wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

2. 安装mysql57-community-release-el7-8.noarch.rpm包

  • rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo

3.安装mysql

  • yum install mysql-server

4. 启动mysql服务

查看MySQL服务是否已启动

service mysqld status

如果未启动,可以使用下面指令启动服务

service mysqld start
or
systemctl start mysqld

5. 重置root密码

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。
可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式

MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

  • grep 'temporary password' /var/log/mysqld.log

修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)

  • mysql -u root -p
    mysql> Enter password: (输入刚才查询到的随机密码)
    mysql> SET PASSWORD FOR 'root'@'localhost'= "Root-123";
    mysql> exit

用root新密码登录:

  • mysql -u root -pRoot-123

如果上面的方式不能修改可以使用下面安全模式修改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');

 

6. 开放3306端口

允许使用用户名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

总结

  上面比较详细地配置了mysql,可以使用systemctl restart mysqld.service启动后,在查看mysql的状态使用指令(ps -ef|grep mysql)显示当前配置和状态。刚开始学习这块,还是有很多不懂的地方,希望各位大神指点。

最新文章

  1. Delphi Code Editor 之 编辑器选项
  2. Linux/Unix笔记本
  3. html练习——个人简介
  4. javascript函数基础
  5. Sqlserver知识点1
  6. HTTP 状态响应码 意思详解/大全
  7. webBrowser(网络转载)
  8. editplus使用:非法字符: \65279
  9. 快捷键accesskey
  10. UVA 311 Packets 贪心+模拟
  11. Swift -> RunTime(动态性) 问题 浅析
  12. sudoku--设想
  13. elk调试环境
  14. Python基础:五、Python程序的编写方式
  15. java Date时间的各种转换方式和Mysql存时间类型字段的分析
  16. FormDestroy 和 FormClose 有什么区别和联系?
  17. LONG数据类型转换为VARCHAR2并相互转换
  18. win10图片恢复默认照片查看器
  19. Spark共享变量(广播变量、累加器)
  20. Could not process inbound connection: Client [/rostopic_18439_1555659423249] wants topic , ROS md5sums do not match

热门文章

  1. make 要点简记
  2. java制作二维码的两种方式
  3. 按住ctrl键可以在新窗口打开图片
  4. Angular - - $compile编译服务与指令
  5. Hdu-2112 HDU Today (单源多点最短路——Dijsktra算法)
  6. Cookie的一些用法
  7. vue原来可以这样上手
  8. 支付宝 Android 版使用的开源组件
  9. HDU1716(全排列)
  10. CMD修改IP地址