为了方便在不同的地方使用同一个数据库而不需要每次都在不同的电脑上安装-导入sql文件,决定在阿里云的云服务器上安装Mysql方便使用。
本次教程所使用的平台是CentOS 7.3
如果之前安装过出了问题需要重装的话从第一步开始,否则从第四步开始:
1、查看当前是否有MySQL进程
rpm -qa|grep -i mysql
2、有的话则需要kill掉,再删除;没有直接到第3步
pkill -9 mysqld
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
3、使用以下指令卸载旧的mysql
rpm -ev mysql-community-client-5.6.38-2.el7.x86_64
依次卸载,直到卸载干净
4、创建目录,下载并安装MySQL5.7
创建文件夹并cd进入该文件夹
mkdir /usr/local/mysql
cd /usr/local/mysql
下载mysql并使用rpm运行
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装mysql服务
yum -y install mysql-server
默认配置文件所在路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
5、配置my.cnf
:
vim /etc/my.cnf
修改后配置文件为:
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server_id = 1
expire_logs_days = 3
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
注意:安装完成后,初始密码为随机密码,需要重置密码。
6、启动服务,修改初始密码
service mysqld restart
grep "password" /var/log/mysqld.log
红框的位置即为初始密码,包含特殊符号
7、登录并修改密码:
是用指令登录mysql
mysql -u root -p
password为上一步获取的密码
进入后修改密码(必须同时包含数字、符号、大小写字母,否则会报错)
// !root!2019为参考密码
alter user 'root'@'localhost' identified by '!root!2019';
// 刷新
flush privileges;
8、开放远程连接并设置远程登录密码
// 赋予root用户所有权限,并设置远程登录密码是Nick!root!2019
grant all privileges on *.* to 'root' @'%' identified by 'Nick!root!2019';
// 刷新
flush privileges;
输入quit退出MySQL。
9、允许服务自启动
chkconfig --add mysql
chkconfig mysql on
在这里有时会出现错误,遇到问题可以选择跳过这一步或者参考 在centos 7 下安装mysql及配置启动项问题 来解决。
10、开放防火墙端口
在CentOS 7或RHEL 7或Fedora中,防火墙由FirewalID来管理
通过
systemctl status firewalld
查看FirewalID状态,发现当前是dead状态,即防火墙未开启。
通过
systemctl start firewalld
开启防火墙,没有任何提示即开启成功。
执行
firewall-cmd --permanent --zone=public --add-port=3306/tcp --permanent
提示success
(–permanent永久生效,没有此参数重启后失效)
执行
firewall-cmd --reload
提示success
或者关闭防火墙:
systemctl stop firewalld