MySQL高级学习笔记(一):mysql简介、mysq linux版的安装(mysql 5.5)

版权声明:本文为作者原创,转载请注明出处,联系qq:32248827 https://blog.csdn.net/dataiyangu/article/details/89087591

MySQL简介

概述

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。
MySQL 是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

Mysql 是开源的,所以你不需要支付额外的费用。
Mysql 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 Mysql 系统。

Mysql 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL 使用标准的 SQL 数据语言形式。
Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括 C 、 C++ 、 Python 、 Java 、 Perl 、 PHP 、 Eiffel 、 Ruby 和 Tcl 等。
MySQL 支持大型数据库,支持 5000 万条记录的数据仓库, 32 位系统表文件最大可支持 4GB , 64 位系统支持最大的表文件为 8TB 。

mysql高手是怎样炼成的

数据库内部结构和原理
数据库建模优化
数据库索引建立
SQL语句优化
SQL编程
mysql服务器的安装配置
数据库的性能监控分析与系统优化
各种参数常量设定
主从复制
分布式架构搭建、垂直切割和水平切割
数据迁移
容灾备份和恢复
shell或python等脚本语言开发
对开源数据库进行二次开发

mysq linux版的安装(mysql 5.5)

下载地址

官网下载地址:http://dev.mysql.com/downloads/mysql/

在这里插入图片描述
在这里插入图片描述

拷贝&解压缩

检查工作

检查当前系统是否安装过mysql

执行安装命令前,先执行查询命令
rpm -qa|grep mysql
如果存在 mysql-libs 的旧版本包如下:
在这里插入图片描述
请先执行卸载命令: rpm -e --nodeps mysql-libs

检查/tmp文件夹权限

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限
执行 :chmod -R 777 /tmp

安装

在 mysql 的安装文件目录下执行:
rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm

查看MySQL安装版本

或者可以执行 mysqladmin --version命令,类似java -version如果打出消息,即为成功。

在这里插入图片描述
通过vim 查看 mysql组 和mysql组

mysql服务的启+停

启动:
在这里插入图片描述

关闭:
在这里插入图片描述

首次登录

安装完成后会提示出如下的提示:
在mysql首次登录前要给 root 账号设置密码
在这里插入图片描述

启动服务后,执行命令
/usr/bin/mysqladmin -u root password ‘123123’
在这里插入图片描述

然后通过 mysql -uroot -p123123进行登录
在这里插入图片描述

MySQL的安装位置

在linux下查看安装目录 ps -ef|grep mysql

参数 路径 解释 备注
–basedir /usr/bin 相关命令目录 mysqladmin mysqldump等命令
–datadir /var/lib/mysql/ mysql数据库文件的存放路径
–plugin-dir /usr/lib64/mysql/plugin mysql插件存放路径
–log-error /var/lib/mysql/jack.atguigu.err mysql错误日志路径
–pid-file /var/lib/mysql/jack.atguigu.pid 进程pid文件
–socket /var/lib/mysql/mysql.sock 本地连接时用的unix套接字文件
/usr/share/mysql 配置文件目录 mysql脚本及配置文件
/etc/init.d/mysql 服务启停相关脚本

在 linux 下查看安装目录 ps -ef|grep mysql
在这里插入图片描述

自启动mysql服务

在这里插入图片描述

修改配置文件位置

因为将来配置主从配置,集群之类的,容易出现问题,所以,保存一份默认的配置文件,修改默认配置文件的位置

拷贝:
在这里插入图片描述
注意:
当前的5.5版本

cp   /usr/share/mysql/my-huge.cnf    /etc/my.cnf

5.6版本

cp   /usr/share/mysql/my-default.cnf    /etc/my.cnf

/etc/my.cnf是默认读取的配置文件,刚安装的时候,是不会有这个文件的,没有就会用默认的,有的话就用/etc/my.cnf

修改字符集问题

尝试插入输入:

insert into user values(2,'张三');
select * from user;

+------+--------+
|id	   |name	|
+------+--------+
|1     |z3		|
|2     |??		|
+------+--------+

原因是字符集问题
1 查 看字符集
show variables like ‘character%’;
show variables like ‘%char%’;
看看出现的结果:
在这里插入图片描述
character_set_database和character_set_server都是 latinl(拉丁)

默认的是客户端和服务器都用了latin1,所 以会乱码。

2 修改my.cnf
在/usr/share/mysql/ 中找到my.cnf的配置文件,
拷贝其中的my-huge.cnf 到 /etc/ 并命名为my.cnf
mysql 优先选中 /etc/ 下的配置文件
然后修改my.cnf:
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8

在这里插入图片描述

3、重新启动mysql

service mysql stop
service mysql start
user db01 
insert into user values(2,'张三3');
select * from user;
+------+--------+
|id	   |name	|
+------+--------+
|1     |z3		|
|2     |??		|
|2     |??3		|
+------+--------+

因为我是在原库之后修改的字符集,所以原来的还不是utf-8。
结论:
原库的设定不会发生变化,参数修改只对新建的数据库生效

4、已生成的库表字符集如何变更
修改数据库的字符集
mysql> alter database mytest character set ‘utf8’;
修改数据表的字符集
mysql> alter table user convert to character set ‘utf8’;
但是原有的数据如果是用非’utf8’编码的话,数据本身不会发生改变。

猜你喜欢

转载自blog.csdn.net/dataiyangu/article/details/89087591