项目中需要用到的数据库安装、配置以及常见错误
Redis
Redis 是一个高性能的key-value数据库。 在部分场合可以对关系数据库起到很好的补充作用。是当前比较热门的NOSQL系统之一。它提供了C#,Java,PHP,JavaScript,Python,Ruby等客户端,使用很方便。
下载并解压
1 | # 跳转至目录 |
编译
Redis基于C开发,因此确保电脑安装有gcc和make。
- 安装make命令
sudo apt-get install make
- 安装sysv-rc-conf命令
sudo apt-get install sysv-rc-conf
- 安装GCC:
sudo apt-get install gcc
完成之后,编译步骤如下:
1 | cd redis-stable |
安装
接下来会出来redis配置,按照提示一步步设置端口,日志路径,配置文件等。
系统服务位于/etc/init.d/redis_6379,可以更名为/etc/inti.d/reids-server.
1 | sudo mv /etc/init.d/redis{_6379,-server} |
测试和连接
使用redis客户端测试服务器
1 | redis-cli ping |
修改Redis配置
设置访问账号
默认情况下,访问Redis服务器是不需要密码的,为了增加安全性我们需要设置Redis服务器的访问密码。设置访问密码为password。
用vi打开Redis服务器的配置文件redis.conf
1 | sudo vi /etc/redis/redis.conf |
设置Redis可被远程访问
默认情况下,Redis服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。用vi打开Redis服务器的配置文件redis.conf
1 | sudo vi /etc/redis/redis.conf |
修改后,重启Redis服务器
1 | redis-cli shutdown |
登陆
本机登陆Redis服务器,输入密码
redis-cli -a password
远程访问,主机为x.x.x.x
redis-cli -a password -h x.x.x.x
MySql
MySql是目前最受欢迎的关系型数据库之一。 由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,很多中小型网站的开发都选择将 MySql作为网站数据库。
配置源
debian下安装软件的指令为apt-get,在使用apt-get安装之前,需要先下载官网提供的Deb包,以将MySql的仓库添加到apt-get的源中。
获取下载链接
点击Download,跳转到下载页面
右键点击No thanks,just start my download复制链接
进入工作目录
1
cd ~
下载Deb文件
1
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
将该文件添加至apt-get的源
1
sudo dpkg -i ./mysql-apt-config_0.8.12-1_all.deb
然后会弹出MySql的源配置界面
我们仅需选择版本,下面两个选项默认即可
更新源
1
sudo apt-get update
安装
1 | sudo apt-get install mysql-server |
这一步可能会提示错误:
可以换个命令
1 | sudo aptitude install <mysql-server> |
因为aptitude
会自动把所有依赖的库都帮你顺着找到,并下载好。
而apt-get
下载某个包中它的所有依赖项都必须存在。
这就是为什么我们每次执行apt-get
的时候都需要先apt-get update
的更新软件包的原因。
如果提示找不到aptitude
,可以先使用sudo apt-get install aptitude
进行下载
然后就是漫长的等待,因为安装包200多M…..
中途会让你输入root密码,自己输入一个记住就行了。
基本操作
开启MySql服务
1
sudo service mysql start
关闭服务
1
sudo service mysql stop
重启服务
1
sudo service mysql restart
登陆
1
mysql -u root -p
输入密码即可登陆
指定端口号登录
1
mysql -u root -p -P 3306
注意指定端口的字母P为大写,而标识密码的p为小写。MySql默认端口号为3306
指定IP地址和端口号登录MySQL数据库
1
mysql -h 127.0.0.1 -u root -p -P 3306
配置
因为MySql刚安装完成不允许从远程访问而且只有一个root用户,这对于开发不太友好也比较不安全。
所以我们应该创建一个用于开发的数据库账户,并且为它设置远程访问权限。
当然,在真正投入生成环境之后,我们应该移除远程访问的权限
登录MySql
1
mysql -u root -p
输入密码登录之后,新建一个用户
1
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';
完成之后为该用户分配所有权限
1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
接着刷新权限即可使用新用户在任意host登录数据库
1
mysql> FLUSH PRIVILEGES;
如果还是不行的话,打开下面的文件
1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把bind-adress那一行的127.0.0.1改成0.0.0.0
重要提示:投入生产时记得改回来
1
2
3# By default we only accept connections from localhost
# bind-address = 127.0.0.1 #先注释此行
bind-address = 0.0.0.0