1 创建数据库
说明:有空在写
2. 修改数据库的密码
1):编辑mysqld.cnf文件
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
2):在文件中的skip-external-locking一行的下面添加一行:
skip-grant-tables
3):重启MySQL服务
sudo service mysql restart
4):终端输入mysql进入MySQL,输入USE mysql切换至mysql数据库
mysql
USE mysql
5):把root用户的密码修改为000000
update user set authentication_string=PASSWORD("000000") where User='root';
图片说明:5、6、7 三步结果如图所示。
我用过如下图示指令,报错
6):修改字段plugin
UPDATE user SET plugin="mysql_native_password";
7):刷新权限
flush privileges;
8): 退出
quit;
9):注释掉/etc/mysql/mysql.conf.d/mysqld.cnf文件中添加的一行
10):重新启动
sudo /etc/init.d/mysql restart
3. 配置Mysql远程连接
1.首先,终端上mysql -u root -p,进入你的mysql数据库,操作数据库use mysql。
mysql -u root -p
输入密码
mysql> use mysql;
2.查看root的权限,
mysql> select user,host from user;
%代表开放连接(就是谁都能连)
localhost代表本机IP连接权限,也可以对某个IP进行授权。
3.对root授权,输入:
grant all privileges on *.* to root@'%' identified by '你的密码' with grant option;
刷新一下权限:
flush privileges;
重启mysql,如果防火墙和bind-address的修改都正确
重新查看权限会出现
此时,root就允许远程访问了。
4.修改配置:我的mysql连接配置文件存放在/etc/mysql/mysql.conf.d这个文件夹,
进入里面用vi打开sudo vi mysqld.cnf文件。
找到bind-address =‘一个IP’,在下面输入bind-address = 0.0.0.0然后保存退出(vi的基本操作自己查!)
5.查看自己的mysql服务器是否运行sudo netstat -lntp
这里写图片描述
这个表示你的mysql服务器在运行,授权和配置也搞好了,如果没显示重启mysql看看效果。
6.查看你主机的IP输入:ifconfig
7.在windows中的Navicat上输入基本上就搞定了。连接名自己取,端口3306,root不变,把localhost换成你主机的IP,输入密码。
如果连不上可能是你的系统的防火墙开着呢,其他的状况我没遇到!自己的实践希望对你有用。
防火墙关闭3306端口。
4. 常见数据库使用
- 查看数据库内容
show databases;
2)删除数据库
use mysql( 数据库名)
drop database mysql(数据库名)
3) 创建/删除一个数据库
create database sunck;
drop database sunck;
- 查看表
usr sunck; # 使用sunck数据库
show tabels; # 查看sunck的表
5) 创建/删除表格
- 常规创建方法:
创建一个新的表格“runoob_tbl”
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
- Django创建方式
django学习笔记中的 8.在数据库中生成数据表 - 删除表格
drop table table_name; # table_name :需要删除的数据表格的名称
6)数据插入
语法:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
实例:
向数据库 runoob_tbl 分别插入三行数据。
INSERT INTO runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES
("学习 PHP", "菜鸟教程", NOW());
INSERT INTO runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES
("学习 MySQL", "菜鸟教程", NOW());
INSERT INTO runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES
("JAVA 教程", "RUNOOB.COM", '2016-05-06');
7)查看数据库的内容
select * from runoob_tbl;
desc runoob_tbl;
8)WHERE语句
语法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
实例
SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';
9)UPDATE 更新
语法
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
实例
UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;
10)DELETE 语句
语法
DELETE FROM table_name [WHERE Clause]
实例
DELETE FROM runoob_tbl WHERE runoob_id=3;
11) LIKE 子句
语法
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
实例
SELECT * from runoob_tbl WHERE runoob_author LIKE '菜%';
12)UNION 操作符
描述
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
语法
MySQL UNION 操作符语法格式:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];