MySQL 是一個關係型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。
MySQL 是一種關聯數據庫管理系統,將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。java
Mysql 是開源的,因此你不須要支付額外的費用。
Mysql 是能夠定製的,採用了 GPL 協議,你能夠修改源碼來開發本身的 Mysql 系統。node
Mysql 支持大型的數據庫。能夠處理擁有上千萬條記錄的大型數據庫。
MySQL 使用標準的 SQL 數據語言形式。
Mysql 能夠容許於多個系統上,而且支持多種語言。這些編程語言包括 C 、 C++ 、 Python 、 Java 、 Perl 、 PHP 、 Eiffel 、 Ruby 和 Tcl 等。
MySQL 支持大型數據庫,支持 5000 萬條記錄的數據倉庫, 32 位系統表文件最大可支持 4GB , 64 位系統支持最大的表文件爲 8TB 。python
數據庫內部結構和原理
數據庫建模優化
數據庫索引創建
SQL語句優化
SQL編程
mysql服務器的安裝配置
數據庫的性能監控分析與系統優化
各類參數常量設定
主從複製
分佈式架構搭建、垂直切割和水平切割
數據遷移
容災備份和恢復
shell或python等腳本語言開發
對開源數據庫進行二次開發mysql
官網下載地址:http://dev.mysql.com/downloads/mysql/


linux
執行安裝命令前,先執行查詢命令
rpm -qa|grep mysql
若是存在 mysql-libs 的舊版本包以下:

請先執行卸載命令: rpm -e --nodeps mysql-libsweb
因爲mysql安裝過程當中,會經過mysql用戶在/tmp目錄下新建tmp_db文件,因此請給/tmp較大的權限
執行 :chmod -R 777 /tmpsql
在 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.rpmshell
或者能夠執行 mysqladmin --version命令,相似java -version若是打出消息,即爲成功。數據庫

經過vim 查看 mysql組 和mysql組編程
啓動:

關閉:

安裝完成後會提示出以下的提示:
在mysql首次登陸前要給 root 帳號設置密碼

啓動服務後,執行命令
/usr/bin/mysqladmin -u root password ‘123123’

而後經過 mysql -uroot -p123123進行登陸

在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

由於未來配置主從配置,集羣之類的,容易出現問題,因此,保存一份默認的配置文件,修改默認配置文件的位置
拷貝:
注意:
當前的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


三、從新啓動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。
結論:
原庫的設定不會發生變化,參數修改只對新建的數據庫生效
四、已生成的庫表字符集如何變動 修改數據庫的字符集 mysql> alter database mytest character set ‘utf8’; 修改數據表的字符集 mysql> alter table user convert to character set ‘utf8’; 可是原有的數據若是是用非’utf8’編碼的話,數據自己不會發生改變。