mysql 数据库的笔记

一、安装
apt-get install mysql-server mysql-client

/etc/mysql/my.cnf 配置文件解释
socket    = /var/run/mysqld/mysqld.sock 中的 mysqld.sock 是正常启动 mysql 之后才会有的,所以现在不用管它。
datadir    = /var/lib/mysql    数据库目录,每新建一个数据库,这里就会增加一个数据库名的文件夹

二、启动和停止
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop 或 mysqladmin -uroot -ppassword shutdown
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql start
出现下面的信息,但是也不影响使用。
* Starting MySQL database server mysqld                                 [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.

三、登录
1、连接数据库
(1)本地:
mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
这个是表示连接不到 socket ,上面提了,要先启动 mysql 才行。

mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
mysql -uroot -p
然后输入密码才行。

(2)远程:
mysql -h 192.168.1.1 -uroot -p

2、修改密码
(1)在数据库中修改密码
use mysql;
Update user SET Password=PASSWORD('new_password') Where user='root';
(2)使用 mysqladmin 修改密码
mysqladmin -uroot -pold_password password new_password
(3)忘记 mysql 的 root 密码
先关掉 mysql 进程,在以不检查权限的方式启动,登录修改密码,清除权限,最后重启。
sudo /etc/init.d/mysql stop
mysqld_safe -skip-grant-tables
mysql -uroot -p
mysql> update mysql.user set password=PASSWORD('new_password') where User='root';
mysql> flush privileges;
mysql> quit
sudo /etc/init.d/mysql restart

四、显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql 库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql;
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;