mysql 5.5版本和5.0版本的安裝不一樣。我之前寫過的一篇文章是5.0安裝的。
5.5版本的安裝幾乎都是rpm安裝。mysql官網也推薦用rpm安裝。
這裏要下載2個rpm包一個是服務端,一個是客戶端。
服務端:MySQL-server-5.5.44-1.linux2.6.x86_64.rpm
客戶端:MySQL-client-5.5.44-1.linux2.6.x86_64.rpm
安裝命令
# rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm
# rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm
================================================
2018-5-11更新(安裝5.6)
使用阿里雲centos7.4版本安裝mysql5.6是,需要先使用如下命令,否則會報錯
yum install libaio
然後查詢mariadb,並刪除
rpm -qa|grep mariadb
rpm -e mariadb-libs-* --nodeps
如果出現如下異常:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
解決方案:
]# yum install -y perl-Module-Install.noarch
如果報錯,打開系統日誌提示:
Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t existFor more information, see Help and Support Center at
說明Mysql需要初始化
mysqld --initialize
如果報錯
Please read "Security" section of the manual to find out how to run mysqld as root
需要把/usr/share/mysql/my-default.cnf複製到/etc/my.cnf
然後/etc/my.cnf中加入 user=mysql 即可
===============================================================================
啓動前先要初始化數據庫
./usr/bin/mysql_install_db
如果報錯Can't find file: './mysql/plugin.frm'
解決方法:
進入plugin.frm所在目錄,我的是在
/var/lib/mysql/mysql
ls -l
發現所有文件的權限不知何故都變成root了,執行下面命令,修改權限爲mysql
chown mysql.mysql *
==========================================================
安裝完後,
複製並修改my.cnf
複製/usr/share/mysql/my-medimu.cnf到/etc/my.cnf
my.cnf裏面增加內容
[client]下面增加
default-character-set=utf8
[mysqld]下面增加
character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
character_set_client=utf8
[mysql]下面增加
default-character-set = utf8
==========================
這樣就算配置完成了
直接打命令
#service mysql start
這樣就可以啓動mysql
PS:1
安裝過程中,我在my.cnf配置上出了問題,mysql啓動不起來
錯誤是
The server quit without updating PID file [FAILED]b....
網上有很多種解決辦法,但是在我這裏都不能解決。困擾了一天
後來我自己查看mysql日誌 /var/lib/mysql/*****.err ---這裏.err結尾的是錯誤日誌,前面的*在不同服務器上是不一樣的
日誌裏面有這麼2行
150610 10:28:44 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'
150610 10:28:44 [ERROR] Aborting
看到日誌後我突然想起,my.cnf裏面的配置我是直接copy網上的,這次我把my.cnf重新配置了一遍,代碼一個一個手動敲進去。
保存後重新啓動mysql,OK了。
看來還是不能盲目迷信百度的東西啊,還得靠自己動手豐衣足食啊。
PS:1
解決過程中學到的東西
使用如下命令創建一個用戶名和密碼分別爲"myuser"和"mypassword"的用戶。
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
例如,爲所有數據庫/表賦予 CREATE 和 INSERT 權限:
mysql> GRANT ALL ON *.* TO 'myuser'@'localhost'; -----------第一個*表示數據庫名,第二個*表示表名,*代表所有。localhost表示本地訪問,%表示所有外網訪問,也可以換成具體ip,那就是指定IP訪問
- ALL: 所有可用的權限
- CREATE: 創建庫、表和索引
- LOCK_TABLES: 鎖定表
- ALTER: 修改表
- DELETE: 刪除表
- INSERT: 插入表或列
- SELECT: 檢索表或列的數據
- CREATE_VIEW: 創建視圖
- SHOW_DATABASES: 列出數據庫
- DROP: 刪除庫、表和視圖
參考http://www.linuxidc.com/Linux/2015-03/114803.htm
===========================================================
--查看數據庫的字符集
show variables like 'character\_set\_%';
show variables like 'collation_%';
============================================================
mysql安裝後默認目錄
my-small.cnf
在服務器或者VPS內存小於64MB並且只是偶爾使用mysql的情況下建議使用使用該選項文件。使用這個選項文件,mysql不能應付頻繁的使用,但不會使服務器或者VPS性能下降。
這個配置下,緩衝大小設置的 比較低,sort_buffer只有64K,key_buffer只有16K,table_cache只有4K。
my-medium.cnf
和較小的配置選項文件一樣,如果mysql不是系統中運行的唯一重要程序,這個配置文件適用於內存在64MB左右但是mysql適用相對頻繁一些的服務器或者VPS。
這個配置下,key_buffer爲16M,mysql服務器的sort_buffer爲512K,table_cache爲64K(允許更多的併發線程),net_buffer_length提高到了8K。
my-large.cnf
這個配置示範文件適用於專門提供mysql服務的服務器或者VPS,適用於內存爲512MB的系統。
這個配置中,服務器的緩衝允許更多的活躍線程和更好的排序性能,文件把嘉定的512M內存分配給了key_buffer變量256M,sort_buffer爲1M,table_cache爲256,允許更多的並行用戶,最大256個活動線程。
my-huge.cnf
此配置也同樣適用於服務器或者VPS主要爲mysql用途的,適用於內存爲1-2GB的服務器或者VPS。
這個配置中,sort_buffer排序緩存增加到了2M,key_buffer爲384M,table_cache爲512.
my-innodb-heavy-4G.cnf
這個示範配置文件適合內存爲4G或以上的系統,它用來提供沒有很多連接(使用InnoDB儲存引擎)的複雜查詢,該配置文件中的innodb選項給mysql設置了一個2G的緩衝區。
在mysql官網下載的選擇mysql需要的系統時,下面的下載內容有時候不會異步更新。
比如我選擇Linux Generic是,下面的下載列表應該是異步更新到Linux版本的下載列表,而不是停留在默認的Window下載列表,後來我爲了訪問google修改了hosts文件後。再訪問mysql官網下載頁面,居然可以異步顯示下載列表了。不知道是不是這個原因。不然剛開始的時候,爲了下載個mysql。搞了半天就是下載不下來,後來能下載了,就採用迅雷下載。速度槓槓的。
參考文章
1、http://www.cnblogs.com/sunson/articles/2172086.html
2、http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/18/2216087.html
3、http://blog.rekfan.com/articles/186.html
=========================================================================================
2016-5-17編輯
1、檢查是否已安裝MySQL
rpm -qa | grep -i mysql
如果有會出現類似下面的內容
MySQL-server-5.0.22-0.i386 MySQL-client-5.0.22-0.i386 |
2、刪除已安裝mysql
rpm -ev MySQL-server-5.0.22-0.i386
rpm -ev MySQL-client-5.0.22-0.i386
如果刪除不成功則先要刪除依賴項
PS:我今天刪除的時候出現瞭如下內容
error: Failed dependencies:
libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
解決辦法:
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
3、linux下創建數據庫flush privileges;