Linux系統上安裝MySQL 5.5prm


1.准備工作

從MySQL官網上分別下載mysql服務器端於客戶端包。

如:

MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15-1.linux2.6.x86_64.rpm

並放到/opt目錄下

2.檢測系統是否安裝MySQL

(1)進入系統后,檢測是否安裝mysql.

如:檢測是否安裝Mysql輸入

#rpm -qa | grep -i mysql

若已安裝過,會出現以下

MySQL-server-5.0.22-0.i386

MySQL-client-5.0.22-0.i386

 

(2)那么輸入以下命令刪除它:

#rpm -ev MySQL-server-5.0.22-0.i386

# rpm -ev MySQL-client-5.0.22-0.i386

 

注意:若刪除的時候,出現刪除不成功,出現依賴的包,前提必須刪除依賴項。rpm -ev  dovecot-1.0.7-7.el5.x86_64

3.安裝MySQL

(1)第一步:安裝mysql服務端,輸入以下命令

# rpm -ivh /opt/MySQL-server-5.5.15-1.linux2.6.x86_64.rpm

當出現如下:

Preparing...       ########################################### [100%] 
 1:MySQL-server     ########################################### [100%] 
。。。。。。(省略顯示) 
 /usr/bin/mysqladmin -u root password 'new-password' 
/usr/bin/mysqladmin -u root -h test1 password 'new-password' 
。。。。。。(省略顯示)

表示MySQL安裝完成。

(2)檢測mysql 3306是否安打開,輸入以下命令

# netstat -nat

當出現如下時,表示mysql 3306端口打開

Active Internet connections (servers and established) 
   Proto Recv-Q Send-Q Local Address      Foreign Address    State    
   tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN    
   上面顯示可以看出MySQL服務已經啟動。

(3)安裝mysql客戶端,同理輸入以下命令

# rpm -ivh /opt/ MySQL-client-5.5.15-1.linux2.6.x86_64.rpm

當出現如下:表示安裝成功

warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
  Preparing...    ########################################### [100%] 
   1:MySQL-client ########################################### [100%] 
  顯示安裝完畢。

4.配置MySQL

(1)上面都是安裝完成了,但都是默認的,還需要很多配置。

先了解下默認安裝位置及作用

    1.數據庫目錄 
   /var/lib/mysql/ 

   2、配置文件 
   /usr/share/mysql(mysql.server命令及配置文件) 

   3、相關命令 
   /usr/bin(mysqladmin mysqldump等命令) 

   4、啟動腳本 
   /etc/rc.d/init.d/(啟動腳本文件mysql的目錄)

    如:/etc/rc.d/init.d/mysql start/restart/stop/status

(2)由於MySQL數據庫目錄占用磁盤比較大,所以我在/根目錄下建了個個目錄data,命令如下:

#cd /

#mkdir data

建成后,根目錄就會出現以下文件夾

 

(3)把數據庫移動到data目錄中去。輸入以下命令:

# mv  /var/lib/mysql  /data

最后,進入data目錄就會看到有一個mysql文件夾。

 

拷貝完后還需修改/etc/rc.d/init.d/mysql的datadir目錄值,修改結果如:

 

basedir=

datadir=/data/mysql

 

(4)拷貝配置文件到/etc目錄下,並命名為my.cnf(必須名為my.cnf)

#cp  /usr/share/mysql/my-medium.cnf  /etc/my.cnf

這兒要注意:/usr/share/mysql/下有好幾個結尾為cnf的文件,它們的作用分別是:

1.my-small.cnf是為了小型數據庫而設計的。不應該把這個模型用於含有一些常用項目的數據庫。
2.·my-medium.cnf是為中等規模的數據庫而設計的。如果你正在企業中使用RHEL,可能會比這個操作系統的最小RAM需求(256MB)明顯多得多的物理內存。由此可見,如果有那么多RAM內存可以使用,自然可以在同一台機器上運行其它服務。
3·my-large.cnf是為專用於一個SQL數據庫的計算機而設計的。由於它可以為該數據庫使用多達512MB的內存,所以在這種類型的系統上將需要至少1GB的RAM,以便它能夠同時處理操作系統與數據庫應用程序。
4·my-huge.cnf是為企業中的數據庫而設計的。這樣的數據庫要求專用服務器和1GB或1GB以上的RAM。
這些選擇高度依賴於內存的數量、計算機的運算速度、數據庫的細節大小、訪問數據庫的用戶數量以及在數據庫中裝入並訪問數據的用戶數量。隨着數據庫和用戶的不斷增加,數據庫的性能可能會發生變化。

 

(5)最后配置/etc/my.cnf文件的datadir,和mysql.sock路徑以及默認編碼utf-8.

,紅色字體標示為修改后的。

[client]

password        = 123456

port            = 3306

socket          = /data/mysql/mysql.sock

 default-character-set=utf8

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

port            = 3306

socket          = /data/mysql/mysql.sock

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
character_set_client=utf8

(注意linux下mysql安裝完后是默認:區分表名的大小寫,不區分列名的大小寫;lower_case_table_names = 0    0:區分大小寫,1:不區分大小寫)

max_connections=1000(設置最大連接數,默認為 151,MySQL服務器允許的最大連接數16384; )

[mysql]

 

default-character-set = utf8

 

no-auto-rehash

(6)進入/usr/bin目錄下重啟mysql服務

#mysql_install_db

 

#cd   /usr/bin/mysql restart

(7)登錄mysql

#cd /usr/bin/mysql -u root -p

Enterpassword:(直接回車,因為第一次為空密碼)

(8)登錄成功后,修改密碼

進入>mysql環境下,

輸入:

> mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

> mysql> use mysql

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

24 rows in set (0.00 sec)

> mysql>update user set password=password('123456')where user='root';

修改root密碼為123456

最后重啟mysql,密碼生效

 

 

/usr/local/mysql/bin/mysqld_safe --user=mysql&

#cd   /usr/bin/mysql restart

(6)MySQL安裝成功

(7)執行以下語句用來查看MySQL默認編碼

mysql> show variables like '%colla%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | gb2312_chinese_ci |
| collation_database   | utf8_general_ci   |
| collation_server     | utf8_general_ci   |
+----------------------+-------------------+
3 rows in set (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | gb2312                     |
| character_set_connection | gb2312                     |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | gb2312                     |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
111:又時候啟動兩次MySQL會報錯

通過ps aux | grep mysql查看啟動進程,然后通過kill -9 進程編號。刪除就可以了

--查看數據庫的字符集 
show variables like 'character\_set\_%'; 
show variables like 'collation_%';

 

(8)MySQL查看當前使用用戶

>mysql show processlist


(9)MySQL備份

mysqldump abc(數據庫名) --user=root --password > /root/abc.sql

 mysqldump -u root  -p  abc(數據庫名)  user (表名)>/user.sql(導出單張表)

注意,如果運行 mysqldump 沒有指定 --quick 或 --opt 選項,則會將整個結果集放在內存中。如果導出大數據庫的話可能會出現問題

導入:

mysql> use abc;

mysql>source /root/abc.sql(導入數據庫)

mysql>source /user.sql(導入單張表)
(10)創建索引

CREATE INDEX IX_NAME ON  USER(NAME) ;

(11)查看索引

SHOW INDEX FROM USER;


(12)修改表字段長度

alter table c_logo_image modify column CONTENT varchar(21840);

(13)添加字段

alter table table1 add transactor varchar(10) not Null;
alter table student add num decimal(8,0) default 0 ;

alter table student2 add loginNum decimal(8,0) not null default 0 ;

(14)MySQL設置自啟動

 

chkconfig mysql on



文章來源:http://www.cnblogs.com/sunson/articles/2172086.html
這是目前我見過的最好的一篇安裝教程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM