วันศุกร์ที่ 14 สิงหาคม พ.ศ. 2563

ติดตั้ง Driver ขอ Mysql บน C# windows

 MySql เป็น ระบบ SQL ที่ติดตั้งง่ายมาก บน Window และ Mac 

www.mysql.org  

ในการติดตั้ง ของ Mac ใช้ brew install mysql ง่ายสุด และ มี root ไม่มี Password

สำหรับ การตั้ง Database ให้ create user ใหม่ ตาม Web ของ mysql ตัวอย่างใน Web ส่วนมากใช้ไม่ได้ เนื่องจากเป็น Version เก่า


สำหรับ Driver ของ C# จะเป็น Nuget Mysql.Core

สำหรับ การลง ต้องไปแก้ ใน .csproj ให้ เพิ่ม <Reference Include="System.ComponentModel" />

ก่อน install Nuget

// code ทดสอบ

        string sql = "SELECT * FROM MarkDb";

            MySqlConnection con = new MySqlConnection("host=192.168.1.49;PORT = 3306 ;uid=dbuser;password=password;database=mydb");

            MySqlCommand cmd = new MySqlCommand(sql, con);

            try

            {

                con.Open(); //เปิดการเชื่อมต่อ

            }

            catch (Exception ex)

            {

                string s = ex.Message;

            }


            MySqlDataAdapter MyDA = new MySqlDataAdapter();

            string sqlSelectAll = sql;

            MyDA.SelectCommand = new MySqlCommand(sqlSelectAll, con);


            DataTable table = new DataTable();

            MyDA.Fill(table);


            BindingSource bSource = new BindingSource();

            bSource.DataSource = table;



            dataGridView1.DataSource = bSource;



            con.Close();

            MessageBox.Show("เชื่อมต่อได้แล้ว");

        }

    

เมื่อติดตั้ง Mysql Server แล้ว จะใช้ได้เฉพาะ Localhost

start mysqlserver 

mysql.server start

ถ้าต้องการให้ใช้ได้ จาก remote

ต้องแก้ที่ /usr/local/etc/my.cnf

แก้

bind-address = 0.0.0.0

และ Restart mysql

mysql.server restart

จะ connect จาก Remote ได้


สำหรับ user ต้อง create user สำหรับ Remote และ grant ให้ด้วย


CREATE USER 'userx'@'%' IDENTIFIED BY 'password';

GRANT ALL ON *.* TO 'userx'@'%' IDENTIFIED BY 'PASSWORD';

อันนี้ให้หมดเลย ถ้าเฉพาะ database mydb ก็

GRANT ALL ON mydb.* TO 'userx'@'%' IDENTIFIED BY 'PASSWORD';

ถ้าเฉพาะ Ipaddress ก็เปลี่ยน % เป็น ip



ไม่มีความคิดเห็น:

แสดงความคิดเห็น