1、卸載原來的mysql
出現這種錯誤極有多是上一個mysql的殘留文件沒有刪除,在/etc目錄下查找有沒有my.cnf文件,若是有刪除它 rm -rf my.cnf。再去/usr/local和root目錄下查看有沒有mysql的相關文件,所有清除。而後在命令行輸入命令:node
rpm -qa |grep mysqlmysql
把列出的文件所有刪除linux
rpm -e --nodeps 軟件名稱sql
而後執行命令數據庫
find / -name mysql安全
意思是從根目錄查找,有沒有叫mysql的文件
把顯示出來的文件所有刪除ide
rm -rf 文件路徑/ui
2、安裝mysql命令行
1.獲取包
所有卸載完成後開始安裝mysql
在線下載:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz3d
而後把壓縮包解壓到/usr/local目錄
tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local
進入/usr/local/目錄 把解壓包重命名爲mysql
mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz mysql
2.建立用戶組和用戶
建立用戶組:
groupadd mysql
建立用戶:
useradd -r -g mysql mysql
爲了安全性,給mysql數據庫建立專有用戶,該用戶只能訪問mysql目錄,不能訪問系統其它目錄
另外不建議直接用root初始化mysql,不然鏈接mysql時會報錯:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
3.給mysql目錄指定專有用戶和用戶組
首先建立data目錄:
cd /usr/local/mysql
mkdir data
指定用戶和用戶組:
cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
-R包含目錄下全部和目錄和文件
4.初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
記住生成的臨時密碼
若是忘記密碼或者想從新初始化,能夠先將mysql/data目錄中文件刪除,而後再執行初始化命令
5.配置my.cnf
從5.7.17後mysql就沒有默認的my_default.cnf文件,須要手動建立
cd /etc
cat>>my.cnf
輸入如下內容,ctrl+D退出
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
6.啓動mysql
cd /usr/local/mysql/bin
./mysqld_safe --user=mysql &(回車返回命令行狀態)
7.設爲開機啓動
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
將mysql目錄填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
受權:
chmod +x /etc/init.d/mysql
設爲開機啓動:
chkconfig --add mysql
service啓動
重啓服務:
service mysql restart
中止服務:
service mysql stop
啓動服務:
service mysql start
查看服務:
service mysql status
8.登陸mysql修改密碼受權遠程登陸
cd /usr/local/mysql/bin
登陸:
mysql -u root -p 輸入臨時密碼
修改密碼:
set password=password("root");
登陸受權:
grant all privileges on . to'root' @'%' identified by 'root'
受權生效:
flush privileges
完成!