1.環境:Centos7.4
2.卸載MariaDB(CentOS7 默認自帶)
注:一定要將mariaDB包和自帶mysql包卸載干凈,否則安裝時出現各種奇妙錯誤,導致失敗。
#rpm -qa | grep -i mariadb
#rpm -e --nodeps 強制刪除mariadb的所有相關軟件包
#find / -iname mariadb或者whereis mariadb 查找是否有相關配置目錄及文件,如有,則 rm -rf 刪除
3.卸載已有MySQL
//卸載舊版本的Mysql
rpm -qa | grep -i mysql //查看有沒有安裝mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64 //如果有,卸載舊版本Mysql及相關依賴包
//刪除服務
chkconfig --list | grep -i mysql //查看服務
chkconfig --del mysql //刪除服務
//刪除mysql分散的文件夾
whereis mysql //查出相應的mysql文件夾,也可以用find / -name *mysql*
rm -rf /use/lib/mysql //刪除
4.安裝依賴
注:先裝好依賴,再裝mysql。即使順序出錯,裝完依賴一定要卸載mysql並重新裝mysql,否則mysql裝上了也會出現各種錯誤。
#rpm -ivh m4-1.4.16-10.el7.x86_64.rpm
#rpm -ivh perl*(ISO鏡像里有,掛載鏡像,做個本地yum源即可安裝)
#rpm -qa |grep perl-Data-Dumper (如無perl-Data-Dumper依賴包,則上網下載perl-Data-Dumper-2.145-3.el7.x86_64並安裝)
#rpm -ivh autoconf-2.69-11.el7.noarch
5.下載MySQL: https://dev.mysql.com/downloads/mysql/
6.增加MySQL組
#cat /etc/group |grep mysql #cat /etc/passwd |grep mysql //檢查mysql用戶及組是否存在,如果沒有執行下面命令
#groupadd mysql //創建組
#useradd -r -g mysql mysql //創建用戶並把該用戶加入到組mysql,這里的 -r是指該用戶是內部用戶,不允許外部登錄
#passwd mysql //給用戶mysql設置密碼,需要輸入2次
7.安裝MySQL
解壓mysql
#tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar //注意,是-xvf不是-zxvf
a.安裝mysql
#rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm //-i是安裝,-v是列出更多詳細信息,-h是在安裝時列出hash標記
#rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm
#rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm
# cp /usr/share/mysql/my-default.cnf /etc/my.cnf /設置字符集,連接數等相關參數
b.修改mysql用戶密碼
# /usr/bin/mysql_install_db
//初始化
service mysql status //查看mysql服務狀態 //如果是開啟服務狀態,用service mysql stop關閉服務
mysqld_safe --user=root --skip-grant-tables --skip-networking & //繞過密碼登錄,mysql未啟動前設置
mysql -u root -p //登錄
use mysql //切換數據庫
select Host,User,Password from user; //查詢用戶
UPDATE user SET password=password("root") WHERE user='root'; //修改密碼
quit //退出
#service mysql restart //重啟mysql服務
#mysql -u root -proot // -proot,p代表password,root是密碼
>use mysql //切換數據庫
>set password = password('root'); //第一次登陸必須修改mysql密碼
>flush privileges; //刷新權限
//賦予任何主機訪問數據的權限(遠程訪問)
>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
>flush privileges;//刷新權限
>quit //退出
# mysql service mysql restart //重啟mysql
c.讓防火牆開放開3306端口(Centos7以上是由firewall來管理的)
//查看firewall狀態(runing:運行,not runing:沒有運行),如果沒有運行,用systemctl start firewalld啟動
firewall-cmd --state
firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口
firewall-cmd --reload //重新加載firewall
d.設置mysql開機啟動
#chkconfig --list mysql //查看mysql服務
#chkconfig mysqld on //開啟MySQL服務自動開啟命令
#chkconfig mysql on //開啟MySQL服務自動開啟命令
mysql集合重要目錄
- /var/lib/mysql 數據庫文件
- /usr/share/mysql 命令及配置文件
- /usr/bin mysqladmin、mysqldump等命令