专业的论坛网站建设开发,做网站多少钱西宁君博正规,外贸网站建设十大标准,如何做网页推广的网页ubuntu服务器搭建环境~~~
1. 先安装xshell#xff1a;远程服务器连接#xff08;取代直接在浏览器 上 访问#xff09;
2. 安装xftp#xff08;ftp文件传输#xff09;直接双击红色圈圈即可3. 安装mysql数据库#xff1a;指令#xff1a;sudo apt-get updatesudo apt-ge…ubuntu服务器搭建环境~~~
1. 先安装xshell远程服务器连接取代直接在浏览器 上 访问
2. 安装xftpftp文件传输直接双击红色圈圈即可3. 安装mysql数据库指令sudo apt-get updatesudo apt-get install mysql-server mysql-client
判断是否已经安装成功sudo netstat -tap | grep mysql
如果发现数据库已经在监听某个端口了说明已经安装成功4. mysql用户操作新建用户权限分配远程登录介绍
1.权限表
MYSQL是一个多用户的数据库MYSQL的用户可以分为两大类
1 超级管理员用户root拥有全部权限
2 普通用户由root创建普通用户只拥有root所分配的权限
1.1 权限表的位置
数据库mysql
与权限相关的数据表user,db,host,tables_priv,columns_privprocs_priv等
1.2 user表
User表存储了
1用户的信息hots用户所在的主机,user用户名,password密码
2用户的权限信息_priv
3安全性相关的信息ssl_,x509,记录用户登录的验证操作等
4与资源分配相关的信息max_max_questions表示用户在一个小时内最多可以进行的查询次数。max_updates表示用户在一个小时内最多可以进行的更新次数也包括增加数据、删除数据。Max_connections表示用户最多可以建立的连接数
1.2.1 user表的内容
1host列Localhost表示本机的用户或者超级管理员%表示任何主机上的root用户说明_priv权限是全局权限不受数据库的范围限制
1.3 DB表
1与用户相关的字段host用户所在的主机,user用户名,
2与权限相关的字段_privDB字段规定了_priv权限的有效范围。
1.4 host表
1与用户相关的字段host用户所在的主机
2与权限相关的字段_privDB字段规定了_priv权限的有效范围。
说明
1 记录主机上的用户对数据库拥有的权限侧重点在主机而不在用户例如假设select_privY,那个这个主机上的所有数据库用户都拥有select权限。
2 Host表的优先级大于db表如果db表规定这个用户没有权限但是host表规定了这台主机的用户有权限那么db的这个用户也是拥有权限的。
1.5 tables_priv表
设定了用户对某个表拥有的权限该表记录了用户的信息以及某个表的权限信息table_priv(select ,lnsert,alter等等)以及表上的某个列的权限信息column_priv。
1.6 column_priv表
记录某用户对某表的某个列所拥有的权限。
1.7procs_priv 表规定了用户关于存储过程及存储函数的操作权限主要字段proc_priv2. 创建数据库用户2.1 创建普通用户
2.1.1 CREATE USER
CREATE USER ‘用户名称’ [’主机名称’]
例CREATE USER user1;
验证是否创建成功
mysql SELECT user FROM mysql.user;也可先use mysql;再select user from user;下面同理
说明使用CREATE USER来创建的用户均无任何权限user表的权限字段的值均为N1创建带有主机名的用户
CREATE USER ‘用户名称’ [’主机名称’]
CREATE USER user2 localhost;mysql create user adminlocalhost;
mysqlselect user,host from user;
说明host字段的%表示不受任何主机的限制
mysql create user admin%;2创建带密码的用户
CREATE USER user3 localhost [INDENTIFIED BY ‘用户密码’];
eg:
CREATE USER user3 localhost IDENTIFIED BY 123333;
验证
mysql SELECT user,authentication_string,host FROM user;mysql5.7的password字段变成了authentication_string注意密码是哈希码的形式显示的2.1.2 使用GRANT来创建用户以及授予权限
GRANT是用来给用户授权的但是也可以用来创建用户GRANT在给用户进行授权的时候如果用户是不存在的那么GRANT会自动创建这个用户然后再给这个用户进行授权。(1)添加权限grant 权限 on 数据库.表 to 用户名登录主机 [INDENTIFIED BY ‘用户密码’];权限 select ,update,delete,insert(表数据)、create,alert,drop(表结构)、references(外键)、create temporary tables(创建临时表)、index(操作索引)、create view,show view(视图)、create routine,alert routine,execute(存储过程)、all,all privileges(所有权限)
数据库数据库名或者*(所有数据库)
表表名或者*(某数据库下所有表)*.*表示所有数据库的所有表
主机:主机名或者%(任何其他主机)eg:
mysql grant all privileges on *.* to root192.168.0.1 identified by root;
赋予root192.168.0.1 使用所有数据库的权限在主机192.168.0.1上使用root账户登录密码为root
mysql grant all privileges on *.* to root% identified by root;(表示%(任何其他主机)例grant select,insert,update,delete on *.* to jifei%;mysqlGRANT SELECT ON *.* TO user4 localhost IDENTIFIED BY 123333;(2) 为用户授予指定数据库、指定表、指定列的权限
GRANT UPDATE(cid,cname) ON mysqlpart2.custom TO user3localhost;授权成功后可以在以下表中查看到授权信息
数据库: mysql » 表: tables_priv Table privileges
数据库: mysql » 表: columns_priv Column privileges(3)用户权限表
位置数据库: information_schema »表: USER_PRIVILEGES表的说明
GRANTEE:授权者
PRIVILEGE_TYPE:权限名称用户表数据库: mysql »表: user Users and global privileges
说明user表中”_priv”的值域USER_PRIVILEGES表的PRIVILEGE_TYPE的值是一一对应的。4权限的层级关系
①权限的层级关系就是指权限的适用范围。
②权限的最高层级是全局级所谓全局级就是可以在任何数据库的任何数据表上进行操作。
③数据库级只能在某个数据库上进行操作。
④表级权限信息所在位置数据库: mysql »表: tables_priv Table privileges
⑤列级权限信息所在位置数据库: mysql »表: columns_priv Column privileges
⑥子程序级权限信息所在位置数据库: mysql »表: procs_priv Procedure privileges5撤销权限REVOKE 权限 ON 数据库.表 FROM 用户名登录主机;
说明赋权与撤销权限的区别就是REVOKE是将to改为from例revoke all on *.* from ‘jifei’ ’%’;REVOKE UPDATE(cid,cname) ON mysqlpart2.custom FROM user3localhost;(6) 查看权限SHOW GRANTS;//自己
SHOW GRANTS FOR 用户名称主机名称例
mysqlshow grants;
mysqlshow grants for adminlocalhost说明所有SHOW关键字后面的词都是复数所有CREATE关键字后面的词都是单数通过mysql.columns_priv表来查看权限
SELECT * FROM mysql.columns_priv WHERE useruser3 AND hostlocalhost;
mysql SELECT * FROM mysql.columns_priv WHERE useruser3 AND hostlocalhost;2.1.3 关于以直接向user表插入记录的方式来创建用户
可以使用INSERT的方式直接向user表插入记录以此来创建用户但是因为user表的字段很多而且全部字段均不允许为空这就需要为每一个列赋值所以不推荐使用这种方式来创建用户。2.1.4 CREATE USER 与 GRANT 两种方式创建用户的区别
1CREATE USER 创建用户的优点语法简单
2CREATE USER 创建用户的不足用户无权限
3GRANT 创建用户的优势创建的用户有权限
4GRANT 创建用户的不足语法较CREATE USER 繁琐3. 删除MYSQL的用户delete from mysql.user where user用户名称 and host主机名称;例DELETE FROM mysql.user WHERE useruser3 AND hostlocalhost;删除后使用FLUSH PRIVILEGES 来刷新权限说明
使用DELETET删除用户后必须使用FLUSH PRIVILEGES 来刷新权限否则将无法继续创建用户名与已删用户的用户名相同的用户即使在user表中看不到已删除的用户如果不刷新权限也是无法再新建的。例
删除用户user3
mysql DELETE FROM mysql.user WHERE useruser3 AND hostlocalhost;
Query OK, 1 row affected (0.00 sec)查看用户表user3已删除成功
mysql select user from mysql.user;
-------
| user |
-------
| user1 |
| root |
| root |
| |
| pma |
| root |
| user2 |
| user4 |
-------
8 rows in set (0.00 sec)创建用户user3失败
mysql CREATE USER user3 localhost IDENTIFIED BY pwd;
ERROR 1396 (HY000): Operation CREATE USER failed for user3localhost刷新权限
FLUSH PRIVILEGES;再次创建用户成功
mysql CREATE USER user3 localhost IDENTIFIED BY pwd;
Query OK, 0 rows affected (0.00 sec)4. 修改用户密码UPDATE mysql.user SET passwordPASSWORD(新密码) WHERE user用户名
[AND host’主机名称’];
UPDATE mysql.user SET passwordPASSWORD(111111) WHERE userroot;注意
(1)如果不加WHERE 条件则会把所有用户的密码都修改为’新密码’
(2)密码修改完成后需要进行权限刷新操作才能生效FLUSH PRIVILEGES;例
UPDATE mysql.user SET passwordPASSWORD(111) WHERE useruser1;1修改密码的权限
ROOT用户可以修改自己的密码也可以修改其他用户的密码
其他用户只能修改自己的密码2PASSWORD函数
用于把密码明文进行加密,所得到的密码为原密码的哈希值。
例
mysql SELECT PASSWORD(111);
-------------------------------------------
| PASSWORD(111) |
-------------------------------------------
| *832EB84CB764129D05D498ED9CA7E5CE9B8F83EB |
-------------------------------------------
1 row in set (0.07 sec)3ROOT用户、普通用户修改自己的密码
SET PASSWORDPASSWORD(‘新密码’);4ROOT 用户为其他用户修改密码
SET PASSWORD FOR ‘用户名称’ ’主机名称’ password(‘新密码’);例以下两种修改密码的方式结果相同
SET PASSWORD FOR user1 %PASSWORD(111);
UPDATE mysql.user SET passwordPASSWORD(111) WHERE useruser1;授权之后则是本篇文章的重点了搞了我大半天可以的话点个赞
如何远程连接数据库再进行连接数据库时候请保证你已经完成下面的步骤
1. 已经授权了grant all privileges on *.* to username% identified by password;
2. 防火墙已经关闭具体如何关闭自行网上搜
3. 配置/etc/mysql/mysql.conf.d/mysqld.cnf文件并重启。具体步骤如下
1sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf记住是这个文件而不是这个路径/etc/mysql/my.cn
2)将里面 bind-address 127.0.0.1这句注视掉即在前面加上#即可127.0.0.1表示只允许本机访问所以要把它注释掉
3wq退出
4重启sudo service mysql restart接下来就是redis的安装了~
redis安装方法介绍编译安装
1. 保证网络畅通选定好下载工作路径执行以下命令下载redis-3.2.6
sudo wget http://download.redis.io/releases/redis-3.2.6.tar.gz
2. 解压该文件
sudo tar -zxvf redis-3.2.6.tar.gz
3. 会在当前目录下生成文件夹redis-3.2.6可以用ls来查询我把它移动到了/usr/redis目录下 ubuntuVM-0-16-ubuntu:/usr/redis$ mv redis-3.2.6/ /usr/redis/
4. 如果没有安装gcc需要先安装
sudo apt-get install gcc5. 进入到redis-3.2.6目录下(cd /redis-3.2.6/)依次执行下面两条命令cd ./redis-3.2.6/
sudo make
sudo make install
6. 现在进入先前解压后得到的文件夹我的在/usr/redis复制配置文件redis.conf到/etc/redis/下
cd ~
cd /usr/redis/redis-3.2.6
cp redis.conf /etc/redis/
7. 用vim命令编辑该文件将“daemonize no”修改为“daemonize yes”即设置成作为后台进程运行修改完成后保存退出。
cd ~
cd /etc/redis/
sudo vim redis.conf8. 进入到/usr/local/bin目录下执行命令默认端口6379
cd ~
sudo redis-server /etc/redis/
redis.confredis-cli -p 6379
9. 然后执行命令ping若输出为pong则证明服务成功启动。
10. 执行quit命令退出现在可以通过下面的命令查看到该进程ps -ef|grep redis
11. 如何停止服务器