mysql

安装

数据库

sudo apt-get install mysql-server

sudo apt-get isntall mysql-client

检查是否安装成功

sudo netstat -tap | grep mysql

登陆mysql数据库可以通过如下命令:

mysql -u root -p 

show databases

默认端口3306

安装数据库开发环境

sudo apt-get install libmysqlclient-dev或

sudo apt-get install libmysql++-dev

安装完毕之后头文件在(默认安装)

/usr/include/mysql

/usr/include/mysql++

编译: g++ -Wall main.cpp -o test.out -lmsqlclient

配置

 

启动

/etc/init.d/mysqld start

service mysql stop

强制关闭ps -ef | grep mysql , kill -9 mysq进程号

 

centos

在现在的liux发行版本升级,如本人使用的centos7可以使用 systemctl 来管理mysql 服务

启动服务 systemctl start mysqld.service

关闭服务 systemctl stop mysqld.service

重启服务systemctl restart mysqld.service

查看服务状态systemctl status mysqld.service

设置开机自启systemctl enable mysqld.service

停止开机自启systemctl disable mysqld.service

 

修改mysql密码:mysqladmin -u用户名 -p旧密码 password 新密码

修改默认端口

linux 修改mysql默认端口3306

cd /etc/mysql/my.cnf

修改两处 客户端的port=3306 和mysqld的服务器端口port=3306

[client]

port=3306

[mysqld]

port=3306

重启mysql服务器即可

sudo service mysql restart

 

登陆之后常用sql命令

在mysql的提示符下进行,而且每个命令以分号结束。以下都是在mysql>环境中:

1、显示数据库列表: show databases;

2、显示库中的数据表:

 use <库名>; //open one database such as mysql

 show tables;

3、显示数据表的结构: mysql> describe <表名>;

4、建库: create database <库名>;

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8: CREATE DATABASE test2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

5、建表:

 use <库名>;

 create table <表名>(字段设定列表);

6、删库和删表:   

 drop database <库名>;

 drop table <表名>;

7、将表中记录清空:

 delete from <表名>;

 truncate table  <表名>;

8、显示表中的记录:

 select * from <表名>;

9、编码的修改

如果要改变整个mysql的编码格式:启动mysql的时候,mysqld_safe命令行加入

--default-character-set=gbk, 如果要改变某个库的编码格式:在mysql提示符后输入命令

alter database db_name default character set gbk;

10.重命名表

 alter table <oldName> rename <newName>;

11.查看sql语句的效率

 explain <表名>

例如:explain select * from t3 where id=3952602;

12.用文本方式将数据装入数据库表中(例如D:/mysql.txt)

 load data local infile "D:/mysql.txt" into table < MytableName>;

13. 创建、删除表

https://www.cnblogs.com/sqbk/p/5806797.html

数据库导入导出

1、文本数据转到数据库中
文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
1 name duty 2006-11-23
数据传入命令 mysql> load data local infile <"文件名"> into table <表名>;

2、导出数据库和表
#mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)

#mysqldump --opt news author article > author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件, author.article.sql是一个文本文件,文件名任取。)

#mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)

#mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中

#mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取)

3、导入数据
#mysql < all-databases.sql(导入数据库)
mysql > source news.sql;(在mysql命令下执行,可导入表)

一个完整的示例

1. create database

mysql> CREATE DATABASE <db_name>;
or
mysql> CREATE DATABASE IF NOT EXISTS <db_name> default charset utf8 COLLATE utf8_general_ci;

2. create table

mysql> USE <db_name>;
mysql> CREATE TABLE <table_name> (<field1> VARCHAR(20), <field2> int, <field3> VARCHAR(64));

3. insert item into table

mysql> INSERT INTO <table_name> VALUES ("tangrui", 40,"Beijing");
mysql> INSERT INTO <table_name> VALUES ("tangzr", 10,"Beijing");

mysql> SELECT * FROM <table_name>

4. update item in tables:

mysql-> UPDATE <table_name> SET age=21 WHERE name=tangzr;

5. load text file into table

mysql> LOAD DATA LOCAL INFILE "~/mysql.txt" INTO TABLE <table_name>;

6. backup/export database

(退出mysql命令在shell下执行)
#mysqldump --opt <db_name> > ~/mysql.sql

if user name and password is need

#mysqldump -u root -p --opt qr > ~/mysql.sql

7、remove all items in table

mysql> DELETE FROM <table_name>;

8、delete table

mysql> DROP TABLE <table_name>;

9. restore database from .sql file:

mysql> USE <db_name>;
mysql> SOURCE ~/mysql.sql;
mysql> USE <db_name>;
mysql> SELECT * FROM <db_name>;

posted @ 2019-06-27 14:42  Reboost  阅读(170)  评论(0)    收藏  举报