系統版本:redhat7.0 64bit
mysql 版本:mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar
到mysql官網下載mysql安裝包
下載之後拷貝到liunx系統上,例如在/home/mysql下
首先先查看是否已經安裝了mysql ,執行命令 rpm -qa|grep mysql,如果什麼都沒顯示說明沒有安裝過,如果已經安裝了Mysql就先卸載執行命令 rpm -e --nodeps xxxxxxxxxxxxxxxxxxxx(xxxxxxxxxxxxxxxxxxxx爲已經安裝的rpm)
查看是否安裝mariadb 系統自帶的,我之前安裝的時候和mysql衝突,所有不用這個數據庫的話也可以卸載,查看是否安裝rpm -qa|grep mariadb,卸載執行rpm -e --nodeps xxxxxxxxxxxxxxxxxx.
接下里進入/home/mysql
執行命令:tar mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar 解壓
解壓之後又很多文件,我們只需要安裝
mysql-community-common-5.7.10-1.el7.x86_64.rpm
mysql-community-libs-5.7.10-1.el7.x86_64.rpm
mysql-community-server-5.7.10-1.el7.x86_64.rpm
mysql-community-client-5.7.10-1.el7.x86_64.rpm
因爲依賴包的關係,所有注意安裝順序以下依次安裝
rpm -ivh mysql-community-common-5.7.10-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.10-1.el7.x86_64.rpm
rpm ivh mysql-community-server-5.7.10-1.el7.x86_64.rpm
rpm ivh mysql-community-client-5.7.10-1.el7.x86_64.rpm
安裝完後開始初始化數據庫,進入/usr/bin
執行命令mysqld --initialize --user=mysql或者mysqld --initialize-insecure --user=mysql
第一個命令是爲root用戶隨機生成一個登陸密碼,登陸時執行名mysql -u root -p,密碼在/var/log/mysqld.log文件中可以查看
第二個命令不會爲root用戶生成密碼,登陸時執行mysql -u root --skip-password
在初始化過程中可能會出現[ERROR] --initialize specified but the data directory exists. Aborting.
遇到這種情況,就將數據目錄刪除或重命名後,重新再試一次。
我來簡單說明一下,也就是在初始化之前,先檢查一下數據目錄是否存在,執行命令:ls -l /var/lib|grep mysql。若有,則執行命令:
rm -rf /var/lib/mysql,將其刪除;
顯示開始啓動Mysql服務,執行命令 systemctl start mysqld
如果啓動不起來,有可能是你的seliunx阻止了,進入/etc/seliunx/config 修改SELIUNX爲disabled
然後在啓動服務,啓動後執行命令mysql -u root -p
輸入密碼就可登陸成功。
當root密碼忘記後怎麼登陸?
執行 vi /etc/my.cnf 在[mysqld]後添加
skip-grant-tables
保存退出,執行 :wq 重啓服務:systemctl restart mysqld
登陸mysql : mysql -u root
現在已經可以登錄了,執行命令:
UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root' AND Host = 'localhost'; 修改root密碼爲123456並且執行命令:FLUSH PRIVILEGES; 刷新權限。
現在在去/etc/my.cnf把剛剛加上的去掉然後重啓服務.
現在重新登錄mysql -u root -p 輸入密碼123456就可以重新登了,登錄之後它可能會提示密碼過於簡單要求改密碼,執行命令SET PASSWORD = PASSWORD('123456!abcd'); 就可以了。
我之前安裝的時候不知道爲什麼不能用隨機生成的密碼登錄,然後我就是用忘記root密碼的方式登錄