5) 安裝MySQL(centos7以下版本)
a) # lsb_release –a 查看Linux版本號
b) 下載與當前Linux版本相匹配的MySQL版本
由於MySQL網站Linux版本需要用Google的js 代碼,無法下載,可以到如下鏡像:http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/
MySQL-client-5.6.25-1.rhel5.x86_64
MySQL-server-5.6.25-1.rhel5.x86_64
c) 創建目錄並上傳 mkdir -p usr/local/mysql
d) 安裝服務器端
]# rpm -ivh MySQL-server-5.6.25-1.rhel5.x86_64.rpm
測試是否成功可運行netstat看Mysql端口是否打開,如打開表示服務已經啓動,安裝成功。Mysql默認的端口是3306。
e) 安裝客戶端
]# rpm -ivh MySQL-client-5.6.25-1.rhel5.x86_64.rpm
f) # service mysqld start 啓動失敗
CentOS7的默認數據庫已經不再是MySQL了,而是MariaDB
6) centos7中卸載MariaDB和MySQL
a) 查看centos版本
]# cat /etc/redhat-release
b) 卸載MariaDB
查看當前安裝的mariadb包:# rpm -qa | grep mariadb
都卸載掉:# rpm -e –nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
c) 查看是否已經安裝了MySQL
]# rpm -qa | grep -i mysql
d) 卸載MySQL
]# rpm -e MySQL-client-5.6.25-1.rhel5.x86_64
]# rpm -e MySQL-server-5.6.25-1.rhel5.x86_64
無法正常卸載時
]# yum remove MySQL-shared-advanced-5.6.22-..
e) 刪除分散mysql文件
]# find / -name mysql / # whereis mysql
f) 刪除配置文檔
]# rm -rf /etc/my.cnf
g) 再次查找機器是否安裝mysql
]# rpm -qa|grep -i mysql
7) centos7中安裝MySQL
a) 上傳至/usr/local/rpm
MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
b) 創建MySQL用戶及mysql目錄
]#groupadd mysql
]#useradd -r -g mysql mysql
]# mkdir mysql/data/mysql
]# mkdir mysql/data/test
]# mkdir mysql/bin
]#cd /usr/local/mysql
]#sudo chown -R mysql .
]#sudo chgrp -R mysql .
c) 安裝rpm包
]# rpm –ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
出現如下異常:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
解決方案:
]# yum install -y perl-Module-Install.noarch
原因:
在centos7環境中沒有找到離線安裝的辦法,只能在線安裝,需要調整到可聯網狀態。虛擬機中的話,可以調整到nat模式下。
先卸載已安裝失敗的rpm包
]# rpm –ev MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
再次安裝rpm包
]# rpm –ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
]# rpm –ivh MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
d) 初始化mysql配置文件
]# vi /usr/my.cnf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
user = mysql
e) 啓動MySQL
]# service mysql start
出現異常:
ERROR! The server quit without updating PID file (/var/lib/mysql/master.pid).
啓動日誌中顯示:
[ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
解決方案:
my.cnf中增加配置
user = mysql
]# service mysql start
發生異常:
Starting MySQL ERROR! Couldn’t find MySQL server (/usr/local/mysql/bin/mysqld_safe)
解決方案:
]# cp /usr/bin/mysqld_safe /usr/local/mysql/bin/mysqld_safe
發生異常,又回到了第一個異常,回到了原點
分析:
執行service mysql start這個的時候一定是發生了什麼,那這個命令到底執行了什麼?/etc/init.d/mysql腳本中顯示,一切都只在usr/bin下面發生,my.cnf什麼的都是瞎扯!整個mysql用戶、目錄都沒用。
]# cd /usr/bin
]# service mysql start
Starting MySQL…… SUCCESS!
f) 查看啓動監聽信息
]# netstat -lnp | grep -i mysql
]# service mysql status
g) 首次登陸mysql
]# mysql -uroot –p
直接回車之後,異常:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
解決方案:
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in ‘/root/.mysql_secret’.
You must change that password on your first connect,
no other statement but ‘SET PASSWORD’ will be accepted.
See the manual for the semantics of the ‘password expired’ flag.
[root@master bin] # cat /root/.mysql_secret
[root@master bin] # mysql -uroot –p
mysql> set password for root@localhost = password(‘12’);
mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> quit;