mysql安裝與使用

安裝mysql(windows)

  • 下載安裝資源mysql80和VC_redist_x64

  • 雙擊mysql80安裝(可選擇Developer Default或者Custom)

在這裏插入圖片描述

  • 如果選擇Custom安裝,則可以選擇想要安裝的產品,下圖中我們選擇了【server(必須),workbench(必須),shell(可選)),Doc(可選)和Exmaple(可選)以及三個連接器用於從代碼訪問mysql數據庫(ODBC,python,java,c++等,可選】。注意:沒列出的組件均可隨喜好安裝,安裝是選擇版本最好統一

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dwa3cmWY-1582092884326)(D:\Share\mysql\2.PNG)]

  • 檢查依賴,通過安裝界面提示安裝所需庫,我這邊安裝顯示缺少庫VC_redist_x64,下載安裝即可。

在這裏插入圖片描述

  • 下載安裝組件,請保持網絡連接。

  • 選擇服務器配置類型:默認設置。

  • 認證方法:隨意。

  • 設置root用戶密碼和管理員用戶名,管理員用戶密碼。此處建議使用<name: lyp1234, password: 1234>這種傻瓜形式,防止各位忘記密碼。後期可在workbench和shell中登錄這兩個用戶。

- 設置windows服務,建議默認設置,注意服務名後面有用。mysql服務可以設置不開機啓動。設置不開機啓動優點是不用時可以節省內存,缺點是開機第一次使用前需要手動啓動該服務。

  • 完成安裝。注意安裝後可以使用安裝器增加額外的組件,單個組件可以在[控制面板->程序]中手動刪除。

安裝mysql(linux)

Ubuntu:

sudo apt-get install mysql-server

詳情見 https://blog.csdn.net/weixx3/article/details/80782479

CentOS:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

詳情見 https://www.runoob.com/mysql/mysql-install.html

其它linux:自行查找資料

安裝後密碼爲空,可使用命令sudo mysqladmin -u root password";修改mysql root用戶密碼。

安裝mysql(MacOS)

本人買不起MAC,MAC安裝mysql教程 ,大致和windows安裝流程相似。

啓動mysql服務

Windows:

  • 將mysql可執行命令添加到環境變量。mysql默認安裝位置默認爲C:\Program Files\MySQL\MySQL Server 8.0\bin,將其添加到環境變量中去即可在cmdline直接調用mysql。
  • 添加環境變量後,打開一個具有管理員權限的cmd,輸入命令net start mysql80啓動mysql服務。

linux:

  • 在命令行使用service mysql start/stop打開或關閉mysql服務

MacOS:

  • 在命令行使用sudo /usr/local/mysql/support-files/mysql.server start/stop打開或關閉mysql服務

從命令行連接mysql

  • 啓動mysql服務後,可以在一般權限的命令行中使用命令mysql -u <your user name> -p並輸入密碼啓動mysql命令行。

  • 以root用戶在Linux系統登錄需要sudo權限。

在這裏插入圖片描述

  • 使用mysql命令行:

    • 創建數據庫:create database test
    • 啓動test數據庫: use test
    • 在數據庫下執行基本的sql命令。這裏是基本的sql命令

使用workbench連接mysql(windows/MacOS only)

  • 登錄root用戶,點擊local instance MySQL80即可建立數據庫連接
    在這裏插入圖片描述
  • 登錄我的用戶:點擊上圖中+號新建一個連接。

在這裏插入圖片描述

  • 使用sql編輯器測試mysql,點擊閃電按鈕可執行選中語句

    create database test;
    use test;
    
    #drop table tab1;
    
    create table tab1 (
    ID int not null,
    name varchar(10)
    );
    
    insert into tab1 (ID, name) values (1, 'aaa');
    insert into tab1 (ID, name) values (2, 'bbb');
    insert into tab1 (ID, name) values (3, 'ccc');
    
    select * from tab1;
    

在這裏插入圖片描述

  • 使用ER工具,點擊File->New Model->Add diagram,繪製數據庫概念模式圖
    在這裏插入圖片描述

使用python連接mysql

  • 安裝了python connector

  • 使用pip install mysql安裝python庫MySQLdb

  • 測試連接

    import MySQLdb
    
    # 打開數據庫連接  url,username,password,database
    db = MySQLdb.connect("localhost","lyp1234","1234","test" )
    
    # 使用cursor()方法獲取操作遊標
    cursor = db.cursor()
    
    # 使用execute方法執行SQL語句
    cursor.execute("SELECT * from tab1")
    
    # 使用 fetchone() 方法獲取一條數據
    data = cursor.fetchall()
    
    for d in data:
    	print(d)
    
    # 關閉數據庫連接
    db.close()
    
  • 測試結果:
    在這裏插入圖片描述

使用C++連接mysql

  • 安裝了c++ connector

  • 使用網上的測試代碼,連接mysql數據庫執行select * from tab1命令

    #include <iostream>  
    #include <stdio.h>  
    #include <stdlib.h>  
    #include <string.h>  
    
    #include "mysql.h" //所需頭文件
    
    using namespace std;  
       
    int main()  
    {  
        const char host[] = "localhost";    //MySQL服務器IP地址;若是本地可填寫“localhost”或127.0.0.1  
        const char user[] = "lyp1234";         //MySQL的用戶名  
        const char pswd[] = "1234";         //密碼  
        const char table[] = "test";        //數據庫名稱  
        unsigned int port = 3306;           //MySQL服務端口號,默認是3306 
        MYSQL myCont;//創建MYSQL對象,定義數據庫連接句柄  
        MYSQL_RES *result;//查詢結果集,存放查詢結果  
        MYSQL_ROW sql_row;//存放一行查詢結果的字符串數組  
        MYSQL_FIELD *fd;//包含字段信息的結構  
        char column[32][32];  
        int res;  
        mysql_library_init(0,NULL,NULL);//初始化MySQL庫
    
        mysql_init(&myCont);//初始化連接處理程序  
        if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))  
        {//通過調用mysql_real_connect()連接到服務器  
            cout<<"connect succeed!"<<endl;  
            mysql_query(&myCont, "SET NAMES GBK"); //設置編碼格式,否則在cmd下無法顯示中文  
            res=mysql_query(&myCont,"select * from tab1");//執行查詢語句,mysql_query如果查詢成功,零;如果出現一個錯誤,非零。  
            if(!res)  
            {  
                result=mysql_store_result(&myCont);//保存查詢到的數據到result  
                if(result)  
                {  
                    int i,j;  
                    cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;  
                    for(i=0;fd=mysql_fetch_field(result);i++)//獲取列名  
                    {  
                        strcpy(column[i],fd->name);  
                    }  
                    j=mysql_num_fields(result);  
                    for(i=0;i<j;i++) {  
                        printf("%s\t",column[i]);  
                    }  
                    printf("\n");  
                    while(sql_row=mysql_fetch_row(result))//獲取具體的數據  
                    {  
                        for(i=0;i<j;i++)  
                        {  
                            printf("%s\t",sql_row[i]);  
                        }  
                        printf("\n");  
                    }  
                }  
            }  else  {  
                cout<<"query sql failed!"<<endl;  
            }  
        }  else  {  
            cout<<"connect failed!"<<endl;  
        }  
    
        //注意用完數據庫要及時回收資源  
        if(result!=NULL) mysql_free_result(result);//釋放結果資源  
        mysql_close(&myCont);//關閉MySQL連接  
        mysql_library_end();//關閉MySQL庫  
        return 0;  
    }
    
  • 從mysql安裝目錄(我的是C:\Program Files\MySQL\MySQL Server 8.0)中拷貝libmysql.dll和libmysql.lib到工程目錄下

  • gcc編譯,使用命令g++ -I 'C:\Program Files\MySQL\MySQL Server 8.0\include' -L 'C:\Program Files\MySQL\MySQL Server 8.0\lib' test.cc -llibmysql -o test編譯,命令中指定了mysql 安裝目錄下的lib和include 文件,注意填寫你對應的文件夾。

  • 執行結果
    在這裏插入圖片描述

  • linux系統下應該就是mysql安裝目錄不同,編譯時注意修正即可。

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