Django项目部署(三)安装本地mysql数据库

前两个小节中,使用的mysql数据库是公网的47.100.xxx.xxx的。本小节在本地安装mysql5.7 ,导入相关库+表,让项目正常跑起来。

mysql5.7:  接下来大致会碰到的操作
1)mysql自动安装完后密码是随机的,找mysql的配置增加配置代码,登录mysql的时候不需要填写密码就可以登录的
2)修改密码为root账号重新指定新的密码
3)尝试远程连接 下mysql
操作mysql有几种方式:
	命令行
	通过mysql的客户端软件navicate mysql-front
	程序
4)端口的问题3306
5)权限root账号的主机ip改为ip通过localhost 127.0.0.1— 192.168.1.168       %
6)密码过于简单

一、安装mysql5.7

#1.下载YUM库
 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
#2.安装YUM库
 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
#3.安装数据库
 yum install -y mysql-community-server
#4.启动MySQL服务
 systemctl start mysqld.service

#5.默认空密码
 mysql -uroot -p
#如果出现如下问题:
#ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
#请修改my.cnf,添加skip-grant-tables和skip-networking:
vi /etc/my.cnf
[mysqld]
skip-grant-tables
skip-networking
#重启mysql

(如果不修改 /etc/my.cnf 则使用它随机生成的密码进行登录)
https://blog.csdn.net/qq_32786873/article/details/80664160 《CentOS7.4中安装了Mysql5.7之后如何查看默认密码》
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如果安装的是RPM包,则默认是在/var/log/mysqld.log中。

#查看默认密码:  
grep 'temporary password' /var/log/mysqld.log

修改mysql的root密码

修改root默认的密码
1.	启动mysql之后systemctl start mysqld.service
2.	修改mysql的配置文件 vi /etc/my.cnf
找到[mysqld]
skip-grant-tables
skip-networking

3.	重启mysql    systemctl restart mysqld.service
4.	重新登陆mysql 就会跳过密码
mysql -uroot -p
5.	设置新的密码
update mysql.user set authentication_string=password('123456') where user='root';
6.	然后刷新保存
flush privileges;
7.	退出mysql   exit
再进入vi /etc/my.cnf  skip-grant-tables    skip-networking 删除
8.	重启mysql服务器   systemctl restart mysqld.service
9.再登陆就输入新的密码即可mysql -uroot -p

在这里插入图片描述

在这里插入图片描述

使用Navicat连接mysql

#启动项目
cd /data/env/pyweb/bin
source activate

cd /data/wwwroot/cms
cd cms
#修改里面数据库配置属性
vim setting.py 

#防火墙添加端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --list-ports

在这里插入图片描述

在这里插入图片描述

解决1130错误 :http://blog.csdn.net/liuguangsh/article/details/54376119
http://blog.csdn.net/liuguangsh/article/details/54376119

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ABC12345678~!@';
GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' IDENTIFIED BY 'ABC12345678~!@' WITH GRANT OPTION
flush privileges;

新建数据库,导入表结构和数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行成功的结果:
在这里插入图片描述
最后修改之前的setting.py 配置文件将公网47.100.xxx改成本地的 ,进行测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改本地数据库里面的数据
在这里插入图片描述
此时可以看出目前调用的是本地的mysql数据。
在这里插入图片描述
END
下一小节是 NGINX的负载均衡

=分割线==

第二部分:mysql常用语句

#1、检查用户表
select host, user from user;
#2. 查询数据库
show databases;
#3.查询数据库
show databases;
#4.进入某个数据库
use databasename;
#5.列出数据库中的表
show tables;

#6.查看某个表全部字段
desc slow_log;
#7.查看一个表中的所有数据
select * from user \G;
show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)
#7.查看当前用户
select user();
#8.查看当前所在数据库
select database();
#9.创建新数据库(可以指定字符集)
create database db1 charset utf8;
#10.创建新表
create table t1 (`id` int(4), `name` char(40));

#11.查看数据库版本
select version();
#12.查看数据库状态
show status;         当前会话状态
show global status;  全局数据库状态
show slave status\G;   查看主从数据库状态信息
#13.查询数据库参数
show variables;
#14.修改数据库参数
show variables like 'max_connect%';
set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)
#15.查看当前数据库队列
show processlist;

#16.创建普通用户并授权给某个数据库
grant all on databasename.* to 'user1'@'localhost' identified by '123456';
#17.查询表数据
select * from mysql.db;           //查询该表中的所有字段
select count(*) from mysql.user;  //count(*)表示表中有多少行
select db,user  from mysql.db;    //查询表中的多个字段
select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%”
18.插入一行数据
insert into db1.t1 values (1, 'abc');
19.更改表的某一行数据
update db1.t1 set name='aaa' where id=1;
20.清空表数据
truncate table db1.t1;
21.删除表
drop table db1.t1;
22.清空数据库中的所有表(数据库名是eab12)
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12

23.删除数据库
drop database db1;
24.数据库备份
mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql
25.数据库恢复
mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
26.新建普通用户
CREATE USER name IDENTIFIED BY 'ssapdrow';
27.更改普通用户密码
SET PASSWORD FOR name=PASSWORD('fdddfd');
28.查看name用户权限
SHOW GRANTS FOR name;

猜你喜欢

转载自blog.csdn.net/Nightwish5/article/details/111629459
今日推荐