redhat7.0 mysql安裝
系統版本: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密碼的方式登入