背景:网上的教程有些杂乱,故而参考网上的一些文章,再结合自己的经验,实践之后记录一下,希望能给后人提供一些帮助,尽量少踩一些坑;
平台:阿里云学生云主机
系统:centos 7.3
参考文档:
https://www.cnblogs.com/qiweichao/p/7347776.html
https://www.cnblogs.com/jepson6669/p/9013652.html
1.查看系统是否安装了mysql软件
#rpm -qa|grep -i mysql
2.如果已经安装则卸载(如果是公司的数据库,千万别傻乎乎地就卸载了!!!不然你多半是凉了...),此次试验没执行过下面的命令,如果提示出错,自行百度解决
#yum remove mysql
3.CentOS 7的yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysql的repo源
#wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
4.安装mysql的repo源
#rpm -ivh mysql57-community-release-el7-7.noarch.rpm
5.开始安装mysql
#yum install mysql-server
#yum install mysql-devel
#yum install mysql
6.检查是否已经安装成功
#rpm -qa | grep -i mysql
7.检查mysql的状态
#systemctl status mysqld
(刚安装完毕肯定是dead的状态,那么我们可以启动它)
8.数据库初始化:
#sudo mysqld --initialize --user=mysql
9.初始化之后会在/var/log/mysqld.log生成一个暂时的root密码;
#cat /var/log/mysqld.log
10.因为是创建数据库之后写的这篇文章,所以没法提供截图说明;因为该密码已经被清除了,一般cat出来之后位于最后一句;
11.启动mysql数据库(以root权限去启动,不然多半会报错=>会出现让你输入mysql中root用户的密码,但是实际上即便你输入正确也会出现验证失败的情况)需要你输入上一步找到的密码;
#sudo systemctl start mysql
12.查看数据状态,看是否已经启动成功(出现下图则表明已经启动成功);
#systemctl status mysqld
13.连接数据库,修改密码以及设置远程连接的权限;
#mysql -h localhost -u root -p
(此处会要求你输入密码)
#set password=password(‘新密码’);
#grant all privileges on . to ‘root’ @’%’ identified by’你的密码’;
(刷新权限)
#flush privileges;
14.如果想要远程连接数据库,千万别忘记了服务器的防火墙;如果使用了阿里云的服务器,更不要忘记自身的白名单;(cenros7基本默认设置都是firewalld,可以查看一下状态,我的默认是关闭的;建议先关闭该防火墙或者设置开放3306端口)
#systemctl status firewalld
#systemctl stop firewalld
#firewall-cmd --zone=public --add-port=3306/tcp --permanent
(如果是开放端口的形式,则需要重启防火墙)
#firewall-cmd --reload
15.开放阿里云白名单(新增规则开放3306端口);我的是学生云主机,如果是ecs,那么开放白名单的界面有些许不一样(自行查阅很容易就知道怎么处理了)
16.然后在本地尝试远程连接即可(windows推荐使用navicat,linux推荐使用mysql workbench)
补充:
由于我部署的一个开源项目需要用到这个数据库,但是该开源项目中的部分代码处理需要设置数据库的属性为不区分大小写,所以这里补充一下:(如何设置mysql数据库不区分大小写?)
msysql数据库版本信息:
mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
设置数据库不区分大小写,只需要编辑 /etc/my.cnf 文件,在文件末尾新增一行:
sudo vim /etc/my.cnf
(tips: 在vim中,想去到文件的末尾行,可以按入大写G,然后输入i进入编辑模式,新增下面这行即可)
lower_case_table_names=1
然后重启一下数据库服务:
sudo systemctl restart mysqld
Over…