MySQL 5.7 の詳細なダウンロードとインストール構成、および C# MySQL データベース操作のチュートリアル
記事ディレクトリ
序文
最近、MySQL5.7 を使用するプロジェクトがあり、MySQL をインストールする際に多くの問題に遭遇しました。実際に問題の解決策がブログに多数掲載されているため、今後の参考のためにここに操作を記録します。
以下は、MySQL 5.7.43 のダウンロード、インストール、構成の詳細なチュートリアルです。
1. ダウンロード手順
公式 Web サイトにアクセスします: https://www.mysql.com/
ホームページの一番下までスクロールし、「ダウンロード」の下にある「MySQL Community サーバー」を選択します。
お使いのコンピュータのバージョンに応じて、対応する ZIP ファイルをダウンロードすることを選択してください。私のコンピュータは 64 ビットなので、これを選択してダウンロードしてください。[ダウンロード] をクリックして、次のインターフェイスに入ります。[いいえ、ダウンロードを開始します] をクリックして、何もせずに直接ダウンロード
します。ログインして待つと、しばらくするとダウンロードのポップアップウィンドウが表示されます。
[ダウンロード] をクリックしてダウンロードを開始してください。
ダウンロード後、ファイルを保存先のドライブおよびディレクトリに解凍します。
以上でダウンロード作業は全て完了です。
2. 環境変数の設定
1. このコンピュータを右クリックし、[プロパティ] -> [システムの詳細設定] -> [環境変数] -> [システム環境変数] を選択します。
[新規] をクリックします。変数名はMYSQL_HOMEで、mysql-5.7.43-winx64 フォルダーの場所を追加します。
図に示すように、私のファイルは D:\Program Files\Mysql\mysql-5.7.43-winx64 にあります。
2.パスの編集
図に示すように、**%MYSQL_HOME%\bin** を元の値の末尾にコピーします。
3. my.ini ファイルを構成する
mysql-5.7.43-winx64 ディレクトリに新しい my.ini ファイルを作成します
。my.ini ファイルの内容は次のとおりです: インストール ディレクトリが異なる場合は、MySQL インストール パスを変更してください。
[mysqld]
#端口号
port = 3306
#mysql-5.7.43-winx64的路径
basedir=D:\Program Files\Mysql\mysql-5.7.43-winx64
#mysql-5.7.43-winx64的路径+\data
datadir=D:\Program Files\Mysql\mysql-5.7.43-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#编码
default-character-set=utf8
作成が完了したら、次のステップに進みます。
4.MySQLをインストールする
(1) 入力ボックスに cmd と入力し、管理者として実行します。管理者として実行する必要があることに注意してください。管理者として実行しないと、管理者権限が不十分なため、インストール プロセス中にサービスのインストール/削除エラーが発生します。拒否されました! (インストール/アンインストール サービスが拒否されました)、これは非常に重要です。
(2) cmd に D:\Program Files\Mysql\mysql-5.7.43-winx64\bin ディレクトリを入力します。
インストール コマンドを入力します: mysqld -install。「サービスが正常にインストールされました」と表示された場合は、インストールが成功したことを意味します。「サービスのインストールが拒否されました」と表示された場合は、cmd が管理者権限で実行されていないことを意味します。
次に、コマンドmysqld --initializeの入力を続けます。この時点ではプロンプトは表示されません。
起動コマンドnet start mysqlを入力する前に、入力カーソルが表示されるまで待ちます。MySQLが正常に起動したことを示す次のプロンプトが表示されます。
5.MySQLパスワードを設定する
(1) ここでパスワードを設定するのは主に問題を解決するためです: *ERROR 1045 (28000): Access Dened for user 'root'@'localhost' (usingpassword: NO)* (2) まず MySQL サービスを停止し、コマンド
ラインnet stop mysql :
(3) D:\Program Files\Mysql\mysql-5.7.43-winx64 ディレクトリで my.ini を見つけ、 [mysqld] フィールドの下の任意の行に Skip-grant-tables を追加して保存します。異なる場合は、MySQL インストール パスを変更することを忘れないでください。
(4) MySQL を再起動し、起動コマンドを入力します: net start mysql . MySQL が正常に起動したことを証明する次のプロンプトが表示されます:
コマンドmysql -u root -pを入力してください. パスワードを入力する必要はありません. Enter キーを押すだけです:
MySQL への入力に成功しました! (5) mysql を使用して
コマンドラインを入力してデータベースに入ります。
(6) コマンドラインに「update user setauthentication_string=password(“ xxxxxx ”) where user = “root”」と入力します。
xxxxxxは設定した新しいパスワードです。Enter キーを押した後に次のメッセージが表示されれば、変更は成功です。最後のセミコロンを忘れないでください。
(7) MySQL サービスを手動で停止し、win10 の検索バーに「サービス」と入力して、MySQL を見つけます。右クリックして「停止」をクリックするだけです。
次に、 my.ini ファイルのSkip-grant-tables行を削除し、保存して閉じます。
(8) cmd を再度起動し (管理者として)、起動コマンドnet start mysql を入力し、mysql -u root -pを入力して、設定したパスワードを入力すると、設定が成功したことを示す次の情報が表示されます。
次に、 mysql を使用してコマンド ラインを入力して確認すると、結果はエラーになります。
パスワードがリセットされていないので、「xxxxxx」で識別される
コマンドライン alter user user() を入力してパスワードをリセットします。
私のパスワードは123456なので、「123456」で識別される alter user user() と入力し、 Enter を押します。
勝利に近づく!
コマンド ラインを入力し、mysql を再度使用して確認します。成功しました。
3. 環境変数の設定
1. ライブラリをインポートする
using MySql.Data.MySqlClient;
using System.Net.NetworkInformation;
2. 操作方法
public MySqlConnection mysqlconn = null;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
/// <summary>
/// 连接Mysql数据库
/// </summary>
/// <param name="DatabaseName">数据库名</param>
/// <param name="IP">IP地址</param>
/// <param name="Username">数据库用户名</param>
/// <param name="Password">数据库密码</param>
/// <param name="Port">数据库端口</param>
/// <returns></returns>
public bool Mysqlconnect(string DatabaseName, string IP, string Username, string Password, string Port)
{
try
{
if (PingIP(IP))
{
mysqlconn = new MySqlConnection("Database=" + DatabaseName + ";Data Source=" + IP + ";User Id=" + Username + ";Password=" + Password + ";pooling=false;CharSet=utf8;port=" + Port + "");
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
}
return true;
}
/// <summary>
/// 往Mysql数据库中加入、删除、更改数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public int setMysqlDataSet(string sql)
{
try
{
mysqlconn.Open();
MySqlCommand ad = new MySqlCommand(sql, mysqlconn);
int T;
T = ad.ExecuteNonQuery();
mysqlconn.Close();
return T;
}
catch (Exception ex)
{
mysqlconn.Close();
return 0;
}
}
/// <summary>
/// 读取Mysql数据库(必须先调用Mysqlconnect()传参连接数据库)
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet getMysqlDataSet(string sql)
{
try
{
mysqlconn.Open();
MySqlDataAdapter AD = new MySqlDataAdapter(sql, mysqlconn);
DataSet DS = new DataSet();
AD.Fill(DS);
mysqlconn.Close();
return DS;
}
catch (Exception ex)
{
mysqlconn.Close();
return null;
}
}
/// <summary>
/// ping网络是否OK
/// </summary>
/// <param name="IP">IP地址</param>
/// <returns></returns>
public Boolean PingIP(String IP)
{
try
{
Ping ping = new Ping();
PingReply pingreply;
pingreply = ping.Send(IP, 900);
Boolean result = pingreply.Status == IPStatus.Success;
ping.Dispose();
return result;
}
catch (Exception ex)
{
return false;
}
}
public void Test()
{
//连接数据库
Mysqlconnect("test", "127.0.0.1", "admin", "password", "3306");
//插入数据库
setMysqlDataSet("insert into test (test1,test2) values ('1','2')");
//获取数据库
getMysqlDataSet("select * from test");
//修改数据库
setMysqlDataSet("update test set test2 = '3' where test1='1'");
//删除数据库
setMysqlDataSet("delete from test where test1='1'");
}
注: データベースに接続するときに PingIP() メソッドがあります。MySQL データベースがリモート サーバー上にある場合は、接続する前にリモート サーバーの IP に接続できるかどうかを確認できます。このメソッドが必要ない場合は、削除できます。
要約する
以上が今日の内容ですが、この記事ではmysqlのインストールとデータベースの操作について詳しく紹介していますので、導入方法に従ってインストールとテストを行ってください。