一、簡介
SQL語言
DDL:表、視圖、索引、觸發器操作等。CREATE/ALTER/DROP語句
DML:數據操作。SELECT/INSERT/UPDATE/DELETE
DCL:權限設置。GRANT/REVOKE
數據庫訪問
不同的語言使用不同的數據庫訪問技術
C#使用ADO.NET,JAVA使用JDBC等
版本
Community Edition:免費、自由下載,無技術支持
Enterprise:收費、不能下載,有技術支持
Alpha:開發階段
Beta:開發完成,未測試
Gamma:已發行一段時間的測試版
Generally Available(GA):穩定版
工具
MySQL Community Server:客戶端和服務器整合起來的核心包
MySQL Cluster:提供Mysql集群功能的程序包
MySQL Fabric:為高可用性和分片管理提供了一個框架
MySQL Utilities:提供維護和管理的實用工具
MySQL Workbench:可視化編輯工具
MySQL Proxy:MySQL中間件,代理接收發往MySQL數據庫的請求,將需要求路由至不同的後端主機上去
MySQL Connectors:MySQL的連接器,程序連接MySQL的驅動
MySQL Yum Repository:下載MySQL的YUM源
MySQL APT Repository:APT源
RPM包
MySQL-client:客戶端連接工具,GUI工具有navicat、phpmyadmin等
MySQL-server:服務器包
MySQL-devel:庫和包含文件
MySQL-shared:某些語言和應用程序需要動態裝載的共享庫
MySQL-test:測試組件
MySQL-embedded:嵌入式
MySQL-bundle:整合包
相關文件
MySQL Community Server:客戶端和服務器整合起來的核心包
MySQL Cluster:提供Mysql集群功能的程序包
MySQL Fabric:為高可用性和分片管理提供了一個框架
MySQL Utilities:提供維護和管理的實用工具
MySQL Workbench:可視化編輯工具
MySQL Proxy:MySQL中間件,代理接收發往MySQL數據庫的請求,將需要求路由至不同的後端主機上去
MySQL Connectors:MySQL的連接器,程序連接MySQL的驅動
MySQL Yum Repository:下載MySQL的YUM源
MySQL APT Repository:APT源
二、安裝
環境:CentOS 6.7 x86、MySQL 5.6
報錯,刪除mysql-libs包
[root@CentOS MySQL]# rpm -qa | grep -i mysql mysql-libs-5.1.73-5.el6_6.i686 [root@CentOS MySQL]# yum remove mysql-libs-5.1.73-5.el6_6.i686
RPM
[root@CentOS MySQL]# rpm -ivh MySQL-server-5.6.26-1.el6.i686.rpm [root@CentOS MySQL]# rpm -ivh MySQL-client-5.6.26-1.el6.i686.rpm
YUM
[root@CentOS ~]# yum install mysql-server mysql-client
防火牆
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT service iptables save service iptables restart
配置
5.1版本root無密碼;5.6安裝完成後,root生成隨機密碼在/root/.mysql_secret
5.1有配置文件;5.6無配置文件,需從/usr/share/mysql/my-default.cnf復制到/etc/my.cnf
5.1服務名mysqld,5.6為mysql
開啟服務
[root@CentOS ~]# service mysql start
查看登錄數據庫賬號root的密碼
[root@CentOS ~]# cat .mysql_secret # The random password set for the root user at Tue Sep 8 11:26:39 2015 (local time): 4VZTzey0LML2N7e1
初始化設置
[root@CentOS ~]# /usr/bin/mysql_secure_installation --user=mysql #輸入root的密碼 Enter current password for root (enter for none): #是否修改root的密碼 Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! #刪除匿名用戶 Remove anonymous users? [Y/n] y ... Success! #禁止root遠程登錄 Disallow root login remotely? [Y/n] y ... Success! #刪除測試數據庫 Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! #重新加載權限表 Reload privilege tables now? [Y/n] y ... Success!
三、連接數據庫
連接
參數:
-h:主機名或IP
-P:端口號,默認3306
-u:用戶名
-p:密碼
-e:指定SQL語句
[root@CentOS ~]# mysql -u root -p Enter password: [root@CentOS ~]# mysql -u root -p db01#連接db01庫 [root@CentOS ~]# mysql -h 192.168.41.135 -u root -p#遠程連接
四、創建遠程用戶
user1用戶擁有所有權限,%表示任意主機可登錄
mysql> create user 'user1'@'%' identified by '123456'; mysql> grant all privileges on *.* to 'user1'@'%';
五、遷移data目錄
data目錄應獨立分區
關閉服務
[root@CentOS ~]# service mysql stop
移動目錄
[root@CentOS ~]# mv /var/lib/mysql/ /data/
配置文件
[root@CentOS ~]# cp -a /usr/share/mysql/my-default.cnf /etc/my.cnf [root@CentOS ~]# vim /etc/my.cnf datadir=/data/mysql socket=/data/mysql/mysql.sock [mysql] socket=/data/mysql/mysql.sock #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
啟動服務
[root@CentOS ~]# service mysql start
SELinux報錯解決方法(mv命令保留權限,所以沒報錯)
[root@CentOS ~]# chcon -R -t mysqld_db_t /data//mysql
本文出自 “運維菜鳥.log” 博客,謝絕轉載!