centos7安裝mysql

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章