澳门金沙vip 9

【澳门金沙vip】Linux安装mysql并配置外网访问的实例

配置步骤

接着上一篇的话题:SSD Cloud Hosting –
Linode的配置和部署,搭建Java环境

MariaDB简介

1.查看是否配置DNS

8、Mysql数据库的安装与配置

安装

检查yum里边有没有mysql;

yum list|grep mysql

澳门金沙vip 1

我用的是64位系统,所以这里安装x86_64后缀的;

yum -y install mysql-community-client.x86_64

澳门金沙vip 2

yum -y install mysql-community-devel.x86_64

澳门金沙vip 3

cilent安装的时候已经安装了devel,这里安装就什么都没做;

yum -y install mysql-community-server.x86_64

澳门金沙vip 4

很顺利,还很快;

此时我们可以通过如下命令,查看刚安装好的mysql-server的版本:

rpm -qi mysql-community-server

我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入
service mysqld start 命令就可以启动我们的mysql服务。

注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:

service mysqld start
mysql

澳门金沙vip 5

ok,mysql启动起来了;

启动mysql

我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以
通过systemctl list-unit-files|grep mysqld
命令来查看mysql服务是不是开机自动启动,如:

澳门金沙vip 6

设置为开机启动;

systemctl enable mysqld.service
systemctl list-unit-files|grep mysqld

澳门金沙vip 7

mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,所以我们可以通过,该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,而不是Linux的root账号);

mysqladmin -u root password 'root'  //通过该命令给root账号设置密码为 root

此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了

澳门金沙vip 8

设置外网允许访问

1、确认3306是否对外开放,mysql默认状态下是不开放对外访问功能的。查看的办法如下:

netstat -an | grep 3306     

tcp        0      0 127.0.0.1:3306          0.0.0.0:*                LISTEN     

从结果可以看出,mysql的3306端口只监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法如下,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:

\# Instead of skip-networking the default is now to listen only on      
\# localhost which is more compatible and is not less secure.      

bind-address   = 127.0.0.1    

将bind-address注释掉,或者改成你想要使用的客户端主机IP。没有的话就不用了。

2、确认客户端用户是否具有访问权限

为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:

连接mysql之后执行:

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";     
flush privileges; #刷新刚才的内容  

#格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by
“用户密码”;
#@ 后面是访问mysql的客户端IP地址(或是 主机名) %
代表任意的客户端,如果填写 localhost
为本地访问(那此用户就不能远程访问该mysql数据库了)。
#同时也可以为现有的用户设置是否具有远程访问权限。如下:

use mysql;

update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)     
FLUSH PRIVILEGES;   

查看结果,执行:

select host,user,password from user;   

澳门金沙vip 9

MariaDB是有mysql的开发者在把mysql出后后开发的一个分支,直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL
5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL
5.6版的功能和自行开发的新功能。

如果没有配置DNS参照前文配置DNS

现在centos7下默认是自带mariadb的

配置相关

1、安装MariaDB

如果没有配置DNS yum命令找不到Linux软件库的 DNS配置免费的
DNS1=114.114.114.114即可,也可以加一个备用的DNS2=119.29.29.29

安装命令

yum -y install mariadb mariadb-server

启动MariaDB

systemctl start mariadb

设置开机启动

systemctl enable mariadb

重置密码

mysql_secure_installation

首先是设置密码,会提示先输入密码

      Enter current password for root (enter for
none):<–初次运行直接回车

     设置密码

    Set root password? [Y/n] <–
是否设置root用户密码,输入y并回车或直接回车

    New password: <– 设置root用户的密码

    Re-enter new password: <– 再输入一次你设置的密码

其他配置

   Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

   Disallow root login remotely? [Y/n]
<–是否禁止root远程登录,回车,

   Remove test database and access to it? [Y/n] <–
是否删除test数据库,回车

   Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -u root -p 

完成。

2.用yum安装mysql

2、设置外网能够访问

yum -y install mysql mysql-server mysql-dev

首先开启mysql权限

设置ROOT密码

mysqladmin -u root password ‘888888’

mysql -u root -p

use mysql

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘mysql’ WITH
GRANT OPTION;

flush privileges;

其次配置vagrant的局域网3306端口转发到虚拟机上的3306端口

config.vm.network “forwarded_port”, guest: 5000, host: 5000

最后配置虚拟机上防火墙,开放3306端口外部访问

firewall-cmd –zone=public –add-port=3306/tcp –permanent

配置完成后重启服务器即可了。

这里用yum 进行-y 同意操作,后面的三个软件分别是mysql,
mysql-server,mysql-dev无关顺序

3.启动mysql服务

service mysqld start 

这里需要启动服务,否则不可进行后续操作