首页 > 代码库 > SSD Cloud Hosting–Linode-Mysql数据库的安装与配置

SSD Cloud Hosting–Linode-Mysql数据库的安装与配置

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

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

安装

检查yum里边有没有mysql;

yum list|grep mysql

2014-09-16_073831[4]

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

yum -y install mysql-community-client.x86_64

2014-09-16_073956[4]

yum -y install mysql-community-devel.x86_64

2014-09-16_074045[4]

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

yum -y install mysql-community-server.x86_64

2014-09-16_074222[4]

很顺利,还很快;

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

rpm -qi mysql-community-server

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

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

service mysqld startmysql

2014-09-16_074704[4]

ok,mysql启动起来了;

启动mysql

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

2014-09-16_075214[4]

设置为开机启动;

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

2014-09-16_075328[4]

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

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

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

2014-09-16_075725[4]

设置外网允许访问

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;   

2014-09-16_142147[5]

SSD Cloud Hosting–Linode-Mysql数据库的安装与配置