之前很少接触数据库,虽然培训过oracle,但是也只是简单的安装,备份和恢复,其他的一概不懂,还在琢磨中。甚至于大学时候学习的sql语句也是忘的差不多一干二净了。所以等于一切从零开始。
mysql的安装之前的博文也有讲过,见:http://7169900.blog.51cto.com/7159900/1266633 当然你也可以选择yum安装系统自带的mysql,直接yum -y install mysql*.启动mysql /etc/init.d/mysqld start.
首先创建数据库:
mysql> create database jiradb;
Query OK, 1 row affected (0.00 sec)
创建好之后我们可以检查一下创建好的数据库
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jiradb |
| mysql |
| test |
+--------------------+
4 rows in set (0.01 sec)
接下来就是创建用户以及赋权限:
mysql> grant all on jiradb.* to 'jira'@'localhost' identified by 'jira';
Query OK, 0 rows affected (0.00 sec)
解释下这条命令
grant all on jiradb.*(数据库.*代表所有表) to 'jira'(用户名)@'localhost'(本地链接数据库) identified by 'jira'(密码);
赋予权限之后需要刷新权限表:
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
这样jira用户就已经创建成功,同时也赋予了起jiradb数据库的权限;
现在我们使用mysql客户端HeidiSQL来链接我们创建好的数据库jiradb
这个就是权限问题了,可以查看一下jira用户的登录权限:
mysql> select host from user where user='jira';
ERROR 1046 (3D000): No database selected
奇怪怎么会报错了,原来是没有选择数据库
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host from user where user='jira';
+-----------+
| host |
+-----------+
| localhost |
+-----------+
1 row in set (0.00 sec)
仔细看看,原来jira用户只有本地登录数据库的权限,那么我们现在添加一个远程登录数据库的权限;
mysql> grant all on jiradb.* to 'jira'@'%' identified by 'jira';
Query OK, 0 rows affected (0.00 sec)
刷新一下权限表
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
在查看一下权限;
mysql> select host from user where user='jira';
+-----------+
| host |
+-----------+
| % |
| localhost |
+-----------+
2 rows in set (0.00 sec)
期中localhost只给了用户本地连接数据库的权限,而%则给了用户远程连接数据库的权限;
如果添加权限之后还是连接失败,就查看下iptables,关闭iptables,则可以正常连接。)