MYSQL安装

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

  • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
  • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
  • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
  • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
rpm -e mysql // 普通删除模式
rpm -e —nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
安装 MySQL:
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
完成!

获取初始密码:

grep "temporary password" /var/log/mysqld.log
登录:
mysql -uroot -p
输入初始密码
登录成功!

更改密码:

set global validate_password_policy=0;
set global validate_password_length=1;
alter user 'root'@'localhost' identified by '123456';
FLUSH PRIVILEGES;
详情见:mysql问题

此时用navcat连接mysql,无法连接
61 “Connection refused”

navicat出现:(61 “Connection refused”)

防火墙没有开启3306端口,关闭防火墙
查看防火墙状态:
systemctl status firewalld.service
关闭防火墙:
systemctl stop firewalld.service
永久关闭:
systemctl disable firewalld.service

navicat出现:1045-Access denied for user ‘root’@’localhost

权限问题,电脑可能没有权限
登陆mysql
use mysql
set global validate_password_policy=0;
set global validate_password_length=1;
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;
即可

navicat已经能正常连接mysql。