首页 > 代码库 > SSD Cloud Hosting–Linode-Mysql数据库的安装与配置
SSD Cloud Hosting–Linode-Mysql数据库的安装与配置
接着上一篇的话题:SSD Cloud Hosting - Linode的配置和部署,搭建Java环境
8、Mysql数据库的安装与配置
安装
检查yum里边有没有mysql;
yum list|grep mysql
我用的是64位系统,所以这里安装x86_64
后缀的;
yum -y install mysql-community-client.x86_64
yum -y install mysql-community-devel.x86_64
cilent安装的时候已经安装了devel,这里安装就什么都没做;
yum -y install mysql-community-server.x86_64
很顺利,还很快;
此时我们可以通过如下命令,查看刚安装好的mysql-server的版本:
rpm -qi mysql-community-server
我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start
命令就可以启动我们的mysql服务。
注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:
service mysqld startmysql
ok,mysql启动起来了;
启动mysql
我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过systemctl list-unit-files|grep mysqld
命令来查看mysql服务是不是开机自动启动,如:
设置为开机启动;
systemctl enable mysqld.servicesystemctl list-unit-files|grep mysqld
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,所以我们可以通过,该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,而不是Linux的root账号);
mysqladmin -u root password ‘root‘ //通过该命令给root账号设置密码为 root
此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了
设置外网允许访问
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;
SSD Cloud Hosting–Linode-Mysql数据库的安装与配置