MYSQL新手实践 持续更新

  • 2017-07-29
  • 273
  • 1
  • 2

前言:老铁-伟宪网管刚接触CentOS搭建网站,跟我说做好站就准备学数据库。

这才发现,我一直在规避数据库的操作,根本不甚了解。

接下来,对数据库的基础知识进行实践并记录!

我的自己服务器操作,很危险!


默认坏境:

CentOS 7 64位
AMH v5.3
MYSQL 5.5已编译版本

开头难,一开始就遇到问题了,登录命令:
#mysql -u root -p
报错提示:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’   大致意思就是无法连接,通过这个配置文件.慢慢找原因吧.

练手看看3306端口开了没,输入命令:
#netstat -ntlp | grep 3306
居然没有返回内容,没有开放3306端口,很怀疑。

找mysql的配置文件看看不,我居然不知道mysql安装在哪里,只好用强大的find寻找命令啦:
#find / -name ‘*mysql*’
我晕~一下子几百条信息,看不过来啦,直接ctrl+c强制终止进程。
优化一下一个输入此命令:
# find / -name ‘mysql’
五秒后返回了信息:
/home/usrdata/mysql-generic-5.5/mysql
/home/mysql

查了一下百度,配置文件是目录下一个叫做my.cnf的文件,试试看吧~:
#cat /usr/local/mysql-generic-5.5/my.cnf
输出:

[client]
port = 3306
socket = /tmp/mysql-generic-5.5.sock

[mysqld]
default-storage-engine = MyISAM
innodb = OFF
skip-innodb
port = 3306
socket = /tmp/mysql-generic-5.5.sock
lc-messages-dir=/usr/local/mysql-generic-5.5/share
basedir = /usr/local/mysql-generic-5.5
datadir = /home/usrdata/mysql-generic-5.5

果然有,再回头看看报错什么原因:
/tmp/mysql.sock文件问题,我们把文件做一下连接:
#ln -s /tmp/mysql-generic-5.5.sock /tmp/mysql.sock

还是无法连接啊,百度是老师,继续查,看到一篇文章:
参数配置 – 是否开启监听端口远程访问 (skip_networking) – 开启 即可!

(⊙﹏⊙)b,研究半天,就刚刚登陆MySQL,多磨多折啊


继续刚才的登陆状态,轻轻松松的来体验基本操作:

#mysql> show databases;
+—————————–+
| Database                         |
+—————————–+
| information_schema |
| BBS                                  |
| amh                                 |
| hacker3                          |
| my_wiki                         |
| mysql                               |
| owncloud                        |
| performance_schema |
| waylee                                |
| yyysql                                 |
+—————————–+
10 rows in set (0.00 sec)

这样就看到了,自带的数据库和我网站数据库啦(大黑客们,别黑我哦)

再看看博客的数据库信息吧:

mysql> SHOW CREATE DATABASE walyee;

返回以下信息:

+———-+——————————————————————-+
| Database | Create Database |
+———-+——————————————————————-+
| waylee  | CREATE DATABASE `waylee` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+———-+——————————————————————-+
1 row in set (0.00 sec)
MySQL中的注释有三种:
# 注释内容
— 注释内容 (这里是两个杠)
/* 注释内容*/其中的 /*!40100 …*/ 这部分注释会被MySQL执行,表示服务端版本号大于4.1.00时会被执行。 latin1的意思是数据库编码


说了那么多,基础的得学一下啦

创建一个名为NEWSQL的数据库:

mysql> CREATE DATABASE NEWSQL ;
Query OK, 1 row affected (0.00 sec)

修改数据库编码:

mysql> ALTER DATABASE NEWSQL DEFAULT CHARACTER SET gbk COllATE gbk_bin;
Query OK, 1 row affected (0.00 sec)

使用 SHOW CREATE DATABASE命令查询,查看是否成功转换编码就行了.

删除数据库:

mysql> DROP DATABASE NEWSQL
-> ;
Query OK, 0 rows affected (0.00 sec)

这次少打一个分号,出现-> 标志让我继续输入,务必记得加分号;意思就是完成输入了.再输入SHOW DATABASES; 刚删除的数据库已经找不到了.


看看吧,从来不了解这些目录是干嘛的,有必要了解一下了.查了资料记录一下:

bin 目录:用于存放一些可执行文件,如mysql、mysqld 、mysqlshow……真尼玛多,不写出来了.

data 目录:用于放置一些日志文件以及数据库,不过我的环境,似乎里面没有文件.
include 目录:用于放置一些头文件,mysql.h等
lib 目录:用于放置一系列库文件,有一些.so文件
share 目录:用于存放字符集语言等信息
my.cnf:是MySQL数据库中使用的配置文件.

 

 

 

评论

  • gmat hk回复
    Google Chrome 50 Google Chrome 50 Windows 10 Windows 10

    学习是一个痛苦乏味和困倦的过程,但是这其中充满了乐趣。

发表评论