目录
第一章 下载官方安装包
第二章 解压并安装依赖
第三章 初始化Mysql
3.1 启动Mysql并设置密码
3.2 允许远程连接
3.2.1 数据库增加权限
3.2.2 修改防火墙
3.3 设置开机启动
第四章 修改存储路径
4.1 关闭mysql服务
4.2 新建存储目录
4.3 增加配置
4.4 测试是否成功
4.5 失败问题
第二章 解压并安装依赖
解压:
安装(版本都点不一样,举个例子,就按如下安装顺序):
rpm -ivh MySQL-server-5.6.20-1.rhel5.x86_64.rpm
rpm -ivh MySQL-client-5.6.20-1.rhel5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.20-1.rhel5.x86_64.rpm
提示缺少依赖,/usr/bin/perl is needed by MySQL-server-...
yum install -y perl-Module-Install.noarch
第三章 初始化Mysql
3.1 启动Mysql并设置密码
#Centos7开始使用systemctl的方式管理服务
systemctl start mysql
查看root账号的密码及设置新密码
cat /root/.mysql_secret
mysql -uroot -p获取的密码
set password = password('新密码');
exit;
3.2 允许远程连接
3.2.1 数据库增加权限
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
3.2.2 修改防火墙
在 Centos 7 或 RHEL 7 或 Fedora 中防火墙由 firewalld 来管理,而不是 iptables
因为网上的教程都是关于iptables的,所以我们停止firewalld防火墙,安装并配置iptables防火墙
停止firewalld防火墙:
systemctl stop firewalld
systemctl mask firewalld
安装 iptables-services:
yum install iptables-services
systemctl enable iptables
修改iptables配置:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
设置开机启动:
systemctl enable iptables
重启服务
systemctl restart iptables
另: 打开,关闭重启 iptables服务:
systemctl start iptables
systemctl stop iptables
systemctl restart iptables
systemctl reload iptables
3.3 设置开机启动
systemctl enable mysql
第四章 修改存储路径
参考博客:
4.1 关闭mysql服务
service mysql stop
4.2 新建存储目录
原本的数据存储目录为 /var/lib/mysql
我们新建一个数据存储目录/homework/mysql/data
将/var/lib/mysql复制到/homework/mysql/data中,因为原数据库中还是有一些默认配置的.
cp -a /var/lib/mysql/ /homework/mysql/data/,复制完毕后,可以看到mysql文件夹出现在了data文件夹中.
4.3 增加配置
修改mysql的配置文件/etc/my.cnf,如果/etc下没有my.cnf这个文件,则可以自己手动新建一个,新增如下的配置项,包括socket和datadir.
我这里是从/usr/share/mysql/中复制了my-default.cnf中过来.
增加如下配置项
[mysqld]
socket=/opt/mysqldata/mysql/mysql.sock
datadir=/opt/mysqldata/mysql
[client]
socket=/opt/mysqldata/mysql/mysql.sock
[mysqld_safe]
socket=/opt/mysqldata/mysql/mysql.sock
[mysql.server]
socket=/opt/mysqldata/mysql/mysql.sock
增加完后的样子,wq保存后,service mysql start重启数据库
4.4 测试是否成功
新增数据库ZC
切换到/homework/mysql/data/mysql文件夹下,输入du -h --max-depth=1 /homework/mysql/data/mysql,可以看到ZC数据库占用了116K.
切换到/var/lib/mysql文件夹下,输入du -h --max-depth=1 /var/lib/mysql,发现没有ZC数据库.
综上,说明数据库存储位置已经改变.
4.5 失败问题
如果失败(这里博主没碰到失败问题,但还是记录一下),查看失败的日志文件.err