MySQL服務

 MySQL數據庫概念

 (1) MySQL是關係型數據庫,各種關係依賴。特點:數據以表格的形式存儲,由無數的表,組成一個庫,每張表包含無數的行和列,每行記錄數據的真實內容,每列記錄數據內容的真實數據段


(2)關係型數據庫,用於存放用戶信息、員工姓名、銀行卡信息、工資單、WEB網站訂單、購物車信息、考試成績等;


(3) MySQL數據庫不是單獨存在的,位置在web後端,用戶通過web網站交互,產生的數據,存儲到MySQL中,典型架構LAMP  LNMP  tomcat +MySQL   Java+MySQL


(4) MySQL 分爲社區版和商業版 ,MySQL社區版是免費的,Mariadb是免費開源的,Centos7默認安裝的是Mariadb


MySQL數據庫原理

(1) MySQL 數據庫在運行時,會選擇工作引擎,常見的工作引擎有Myisam, Innodb


(2) Myisam 強調的是數據庫的性能,其執行速度比Innodb類型更快,但不提供事物支持,不提供外鍵。如果是大量的查詢工作,Myissam性能更好些


(3)Innondb提供事物支持,外部鍵,行級鎖等高級功能 ,如果是執行插入,更新操作,出於性能方面的考慮,選擇Innondb。


MySQL數據庫安裝配置

  1> 軟件安裝的2種方式,二進制方式,源代碼方式

  2> rpm包結尾的二進制文件,rpm,yum直接安裝     

             rpm -ivh  mysql-server-xxx.rpm  mysql-devel-xxx.rpm xxx;(不推薦)

              yum  install  mysql  mysql-server  mysql-devel -y

  3>源碼安裝方式,基於./configure   make   make install  但從MySQL5.5X開始後,MySQL預編譯變成了cmkae,不再支持.configure

 

  4> 實戰源碼安裝MySQL

   (1) 安裝編譯環境 

       yum  install  ncurses-devel perl gcc gcc-c++ wget cmake nurses  make

   (2) 下載MySQL源碼包 wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz

   (3) tar -xzvf  mysql-5.5.20.tar.gz

   (4) 進入mysql -5.5.20目錄裏,執行    

cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_BIG_TABLES=1 \

-DWITH_DEBUG=0

make

make install

 (5) 將MySQL設置爲系統服務

   cd  /usr/local/mysql

   cp support-files /my-large.cnf  /etc/my.cnf

   cp  mysql.server  /etc/init.d/mysqld

   useradd mysql

   mkdir -p /data/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql--datadir=/data/mysql/ --basedir=/usr/local/mysql/    對mysql進行初始化


(6) 啓動MySQL數據庫

 /etc/init.d/mysqld start

   MySQL報錯解決方案:

    1> 檢查MySQL數據庫是否存在或者數據目錄是否完整

    2> 檢查selinux是否關閉,生產環境建議關閉

    3> 檢查MySQL服務器的磁盤空間,查看MySQL錯誤日誌信息

    4> 檢查MySQL數據mysql用戶是否有權限

    5> 檢查MySQL是否已經啓動 ps  -ef | grep  mysql,3306已經存在

    6> 檢查MySQL配置目錄是否存在/etc/my.cnf

    7> 確保my.cnf文件中,[mysqld]字段上存在datadir=/data/mysql

 

(7) 進入數據庫

  /usr/local/mysql/bin/mysql


SQL語句學習


(1) show databases;    查看所有的數據庫


(2) create database jfedu;   創建jfedu數據庫


(3) use jfedu;  進入jfedu數據庫


(4) show tables;   查看數據庫中的表


(5) create table t1(id vchar(10),name vchar(20));   創建t1這個表,這個表上有id和name2個字段


(6) insert into t1 values (20,'zhangsan');  向t1這張表中插入數據


(7)

        seletct * from t1;   查看t1這張表的內容;

        select name from t1;  查看t1這張表name字段內容

        select name from t1 where id=2;   查看t1這張表id=2的name字段


(8)  desc user;  查看錶的字段


(9) select host,user,password from mysql.user; 不進入user這張表中,也可以user表內容


(10) mysql -e "select host,user,password from mysql.user"; 在mysql命令行外也可以查看user表內容


(11) update test001 set age=26 and where name='wanger'and id=2;
  註釋:

             更新test001這張表 把name=‘wanger’id=2 這個字段上,age設置爲26


(12) select count(*)from test001;   查看錶有多少字段


(13)  flush privileges;  刷新權限


(14) delete from t1  清空表的內容


(15) drop table t1;  刪除表


(16) drop database jfedu; 刪除數據庫


(17) show engines;  查看數據庫默認的引擎

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章