從安裝mysql到初學時遇到的問題及解決方案

來源:互聯網
上載者:User

一、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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.