一、windows安裝mysql 1、設定系統內容變數 在系統內容變數裡建立系統變數變數名為:MYSQL_HOME變數值為:mysql的安裝路徑 在Path路徑裡加一路經:%MYSQL_HOME%\bin2、將my-default.ini改成my.ini3、修改my.ini檔案 basedir = \\mysql的安裝路徑 datadir = \\mysql的安裝檔案下bin目錄的路徑 port = 33064、啟動mysql服務 進入命令列模式輸入net start MySQL 啟動服務net stop MySQL 關閉服務5、修改root密碼: c:>mysql -u root 進入mysql mysql>show databases; mysql>use mysql; mysql>update user set password=password("密碼") where user='root'; mysql>flush privileges; mysql>quit二、串連MySQL格式: mysql -h主機地址 -u使用者名稱 -p使用者密碼 1、例1:串連到本機上的MYSQL。mysql -u root -p,斷行符號後提示你輸密碼,如果剛安裝好MYSQL,超級使用者root是沒有密碼的,故直接 斷行符號即可進入到 MYSQL中了,MYSQL的提示符是: mysql>。 2、例2:串連到遠程主機上的MYSQL。假設遠程主機的IP為: 110.110.110.110,使用者名稱為root,密碼為 abcd123。則鍵入以下命令: mysql -h110.110.110.110 -uroot -pabcd123注:u與root可以不用加空格,其它也一樣) 3、退出MYSQL命令: exit 斷行符號)。三、修改密碼 格式:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼 1、例1:給root加個密碼ab12。首先在DOS下進入目錄mysqlbin,然 後鍵入以下命令: mysqladmin -uroot -password ab12 註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了 。 2、例2:再將root的密碼改為djg345。 mysqladmin -uroot -pab12 password djg345四、增加新使用者。注意:和上面不同,下面的因為是MySQL環境中的 命令,所以後面都帶一個分號作為命令 結束符) 格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by \"密碼\" 例1、增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修 改、刪除的許可權。首先用以root使用者連入MySQL,然後鍵入以下命令: grant select,insert,update, delete on *.* to test2@localhost identified by \"abc\"; 如果你不想test2有密碼,可以再打一個命令將密碼消掉。 grant select,insert,update,delete on mydb .* to test2@localhost identified by \"\"; 在上面講了登入、增加使用者、密碼更改等問題。下面我們來看看MySQL中有關資料庫方面的操作。注意:你 必須首先登入到MySQL中,以下操作都是在MySQL的提示符下進行的,而且每個命令以分號結束。五、字元集出現錯誤解決辦法: ①、出現問題如下: mysql> update users -> set username='關羽' -> where userid=2; ERROR 1366 (HY000): Incorrect string value: '\xB9\xD8\xD3\xF0' for column 'usern ame' at row 1 ②、表中插入的字元顯示出錯如下: mysql> select * from users;+--------+----------+| userid | username |+--------+----------+| 2 | ???? || 3 | ???? || 4 | ?í?ù |+--------+----------+3 rows in set (0.00 sec) 表中的中文字元位亂碼。 使用命令statusmysql> status -------------- mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0 Connection id: 30 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.45 Source distribution Protocol version: 10 Connection:Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 33 days 58 min 53 sec Threads: 1 Questions: 72 Slow queries: 0 Opens: 25 Flush tables: 1 Open tables: 18 Queries per second avg: 0.000 -------------- 查看mysql發現Server characterset,Db characterset的字元集設成了latin1,所以出現中文亂碼。 mysql> show tables;+----------------+| Tables_in_test |+----------------+| users |+----------------+1 row in set (0.00 sec)更改表的字元集。mysql> alter table users character set GBK;Query OK, 3 rows affected (0.08 sec)Records: 3 Duplicates: 0 Warnings: 0查看錶的結構:mysql> show create table users;+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table|+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+| users | CREATE TABLE `users` (`userid` int(11) default NULL,`username` char(20) character set latin1 default NULL) ENGINE=InnoDB DEFAULT CHARSET=gbk |+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)mysql> desc users;+----------+----------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+----------+------+-----+---------+-------+| userid | int(11) | YES | | NULL | || username | char(20) | YES | | NULL | |+----------+----------+------+-----+---------+-------+2 rows in set (0.02 sec)這時向表中插入中文然後有錯誤。mysql> insert into users values(88,'中文');ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'username' at row 1還要更改users表的username的字元集。mysql> alter table users modify username char(20) character set gbk;ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'username' at row 1因為表中已經有資料,所以更改username字元集的操作沒有成***清空users表中的資料mysql> truncate table users;Query OK, 3 rows affected (0.01 sec)從新更改user表中username的字元集mysql> alter table users modify username char(20) character set gbk;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0這時再插入中文字元,插入成***。mysql> insert into users values(88,'中文');Query OK, 1 row affected (0.01 sec)mysql> select * from users;+--------+----------+| userid | username |+--------+----------+| 88 | 中文 |+--------+----------+1 row in set (0.00 sec)mysql>六、在linux下對mysql進行C編程問題: 要指明庫檔案mysql.h的路徑,一般為 /usr/include/mysql/mysql.h 編譯時間要指明libmysqlclient.so的路徑: /usr/lib/mysql/libmysqlclient.so 命令為 : gcc 點C檔案名稱 /usr/lib/mysql/libmysqlclient.so
本文出自 “7098269” 部落格,請務必保留此出處http://7108269.blog.51cto.com/7098269/1203714