首先,筆者的linux環境是centOS6.x,也就是紅帽子旗下的一個發行版。php
--------------------------------------------------------------java
查看是否安裝了mysql mysql
[root@linux ~]#rpm -qa|grep -i mysql
通常linux自帶了低版本的mysql,統統的卸掉。linux
卸載語法:sql
[root@linux ~]#yum -y remove 包名
選擇合適的版本,yum intall 該版本。 數據庫
[root@linux ~]#yum list | grep mysql
[root@linux ~]# yum list | grep mysql mysql.x86_64 5.1.71-1.el6 @base mysql-libs.x86_64 5.1.71-1.el6 @base mysql-server.x86_64 5.1.71-1.el6 @base apr-util-mysql.x86_64 1.3.9-3.el6_0.1 base bacula-director-mysql.x86_64 5.0.0-12.el6 base bacula-storage-mysql.x86_64 5.0.0-12.el6 base dovecot-mysql.x86_64 1:2.0.9-7.el6 base freeradius-mysql.x86_64 2.1.12-4.el6_3 base libdbi-dbd-mysql.x86_64 0.8.3-5.1.el6 base mod_auth_mysql.x86_64 1:3.0.0-11.el6_0.1 base mysql-bench.x86_64 5.1.71-1.el6 base mysql-connector-java.noarch 1:5.1.17-6.el6 base mysql-connector-odbc.x86_64 5.1.5r1144-7.el6 base mysql-devel.i686 5.1.71-1.el6 base mysql-devel.x86_64 5.1.71-1.el6 base mysql-embedded.i686 5.1.71-1.el6 base mysql-embedded.x86_64 5.1.71-1.el6 base mysql-embedded-devel.i686 5.1.71-1.el6 base mysql-embedded-devel.x86_64 5.1.71-1.el6 base mysql-libs.i686 5.1.71-1.el6 base mysql-test.x86_64 5.1.71-1.el6 base php-mysql.x86_64 5.3.3-27.el6_5 updates qt-mysql.i686 1:4.6.2-26.el6_4 base qt-mysql.x86_64 1:4.6.2-26.el6_4 base rsyslog-mysql.x86_64 5.8.10-8.el6 base
[root@linux ~]#yum -y install mysql.x86_64
[root@linux ~]#yum list | grep mysql-server
[root@linux ~]# yum list | grep mysql-server mysql-server.x86_64 5.1.71-1.el6 @base
[root@linux ~]#yum -y install mysql-server.x86_64
[root@linux ~]#/sbin/chkconfig –-add mysqld
[root@linux ~]#service mysqld start
[root@linux ~]# service mysqld start 正在啓動 mysqld: [肯定]
看到以上信息則表示mysqld服務已經啓動成功了。緩存
啓動完後,咱們能夠給root用戶分配密碼,由於默認安裝的mysql是沒密碼的。安全
[root@linux ~]#mysqladmin -u root password 'newpassword'
OK,到此數據庫基本就安裝完成了,接下來說講如何支持遠程服務。服務器
------------------華麗的分割線--------------------------------------------------socket
[root@linux ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 224 Server version: 5.1.71 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
##增長root用戶受權經過本地機(localhost)訪問,密碼"yourpassword" mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; ##授與root用戶從任何其它主機發起的訪問(通配符%) mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
OK,接下來你便從你的機器遠程訪問服務器試試吧。
---------------------華麗的分割線-------------------------------------
下面再給你們說說其餘一些設置。
##改變mysql默認編碼 進入mysql命令行:mysql -uroot -p 輸入密碼 mysql>show variables like 'character%'; 默認狀況下: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) 中止服務: [root@linux ~]#service mysqld stop [root@linux ~]#vi /etc/my.cnf 修改配置文件:分別在client和mysqld節點中添加 default-character-set=utf8, 並在mysqld節點中還添加 init_connect='SET NAMES utf8' 保存退出。 重啓服務: [root@linux ~]#service mysqld start; 從新進入mysql執行: [root@linux ~]#show variables like 'character%'; 正常狀況下應該顯示爲: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
OK,到此安裝數據庫基本都完成了,至少已經知足了咱們平常開發的須要了。
另外再附一份my.cnf的文件配置,我想不少人都須要的。呵呵。
查看my.cnf文件命令,通常都是
[root@linux ~]#vi /etc/my.cnf
[client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql #默認編碼 default-character-set=utf8 default-storage-engine=INNODB init_connect='SET NAMES utf8' #用來存放索引區塊的RMA值(默認設置是8M),增長它可獲得更好處理的索引(對全部讀和多重寫) key_buffer_size = 16M #增長該變量的值十分安全,這是由於僅當須要時纔會分配額外內存。 #例如,僅當你發出長查詢或mysqld必須返回大的結果行時mysqld纔會分配更多內存。 #該變量之因此取較小默認值是一種預防措施,以捕獲客戶端和服務器之間的錯誤信息包,並確保不會因偶然使用大的信息包而致使內存溢出。 max_allowed_packet = 1M #設置table高速緩存的數量 table_open_cache = 64 #每一個須要進行排序的線程分配該大小的一個緩衝區。增長這值加速ORDER BY或GROUP BY操做。 #注意:該參數對應的分配內存是每鏈接獨佔!若是有100個鏈接,那麼實際分配的總共排序緩衝區大小爲100×6=600MB sort_buffer_size = 512K #用於創建鏈接時的鏈接緩衝和結果緩衝。最小值是1K,最大值是1M net_buffer_length = 8K ## 讀查詢操做所能使用的緩衝區大小。和sort_buffer_size同樣,該參數對應的分配內存也是每鏈接獨享。 read_buffer_size = 256K #該參數在使用行指針排序以後,隨機讀用的 read_rnd_buffer_size = 512K #MyISAM表發生變化時從新排序所需的緩衝 myisam_sort_buffer_size = 8M #服務器在關閉它前在一個交互鏈接上等待行動的秒數。 interactive_timeout=31536000 #服務器在關閉它以前在一個鏈接上等待行動的秒數 wait_timeout=31536000 #讓mysql不區分大小寫 lower_case_table_names=1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid "/etc/my.cnf" 44L, 2041C