声明:本文针对Centos 7,笔者系统为Centos 7.0 的Linux
一、先将三个rpm文件拷贝到Linux的 /usr/local/mysql 目录(usr/local是Linux默认的安装包存放路径)
二、检查是否已存在安装的mysql
rpm -qa| grep mysql
三、检查防火墙状态 firewall-cmd --state为not running
如为开启状态,请执行systemctl stop firewalld.service关闭
四、创建mysql用户组和用户
groupadd mysql
useradd -g mysql -G root mysql //添加用户mysql,并且主用户组为mysql,附属用户组root
注:如果不先创建用户和分组,安装时也会自行创建的。但是有可能导致某些命令无法调用。有试过mysqld命令被安装到了sbin目录下的。MySQL官网也有提示可能存在权限的问题,但也是采取直接将文件权限授予MySQL的方式,这里用的是懒人的方法,用附属组的方式授权。
五、移步到刚刚rpm所在文件夹进行安装 ——最好依次安装
rpm -ivh MySQL-server-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.31-1.el7.x86_64.rpm
rpm -ivh MySQL-client-5.6.31-1.el7.x86_64.rpm
--------------------------------------------------------------------------------------------------------------------------
安装rpm包
]# rpm –ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
出现如下异常:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
解决方案:
]# yum install -y perl-Module-Install.noarch
原因:
在centos7环境中没有找到离线安装的办法,只能在线安装,需要调整到可联网状态。虚拟机中的话,可以调整到nat模式下。
先卸载已安装失败的rpm包
注:rpm -qa |grep -i mysql //查看安装了MySQL的rpm
yum remove rpm_name //卸载
--------------------------------------------------------------------------------------------------------------------------
六、复制my.cnf配置文件到/etc/文件夹
[root@OperationsAnalysis ~]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
七、初始化数据库
[root@OperationsAnalysis ~]# /usr/bin/mysql_install_db
八、启动MySQL服务
systemctl start mysqld.service
九、进入MySQL,修改root密码
启动MySQL服务后直接敲mysql进入数据修改密码
(修改命令:mysql> set password =password('your_password'); )
或者也可以按度娘说的找到文件《.mysql_secret》查看root的初始密码。
注:貌似只有初始化&启动没问题了才会产生该文件,并存放在/root/目录下
异常情况,可以找到hostname.err (度娘说在/data/) 文件查看异常信息, 里面有密码
也有说在/var/log/mysqld.log文件里面的,在命令行输入grep "password" /var/log/mysqld.log查找
十、设置开机启动
systemctl enable mysqld.service
十一、允许root远程连接数据库
进入MySQL后,参考命令(带v_表示为实际参数):
grant v_privilege on v_db_name.v_table to v_user@v_ip identified by v_your_password
例:授权root在任何IP访问,并且拥有所有权限
grant all privileges on *.* to ‘root’@’%’ identified by ‘your_password’
例:授权root在192.168.1.203访问
grant all privileges on *.* to ‘root’@’192.168.1.203’ identified by ‘your_password’
flush privileges; // 刷新
注:5.6及以上版本采用修改/添加user表的方式可能会报异常
十二、如果服务器需要开启防火墙状态下
1. 开启防火墙
systemctl start firewalld.service
systemctl enable firewalld.service //设置开机启动防火墙
2. 开放3306端口
firewall-cmd --zone=public --permanent --add-port=3306/tcp
3. 重启防火墙,使更改生效
firewall-cmd --reload
十三、Windows管理工具连接远程Linux上的MySQL
1. 安装MySQL
没错就是安装MySQL。Linux上你可以单独安装客户端
rpm -ivh MySQL-client-5.6.31-1.el7.x86_64.rpm
就可以进行连接了,但是笔者在官网就是没有找到Windows的客户端。无奈之下选择了安装MySQL。
(Windows下的安装MySQL比较简单,可参考https://blog.csdn.net/Evan_L/article/details/79756437 )
官方安装手册 https://dev.mysql.com/doc/refman/5.6/en/windows-installation.html
注:下载压缩包并解压,然后在命令行直接cd到解压的路径的/bin目录,键入
mysql -hip -uroot -p 然后输入密码(ip即为远程主机地址) 如果成功连接,说明远程主机的MySQL已安装并且端口开放了。
如果想要偷懒直接解压之后,可以使用官方的MySQL Workbench连接,不过要指定Path
Nacicat笔者没有找到指定MySQL路径的,所以一直报10038。不过安装好MySQL之后就没报异常了