標籤:運行 socket centos grant 用戶端 官網 ica down 選擇
1.centos7 怎樣安裝mysql
============================================================================================
安裝步驟如下:
1.首先確認系統是否已經安裝了mysql或者mariaDB
rpm -qa | grep mysql
rpm -qa | grep mariaDB
2.如果有相關安裝包,則立即卸載
rpm -e --nodeps 安裝包名稱
如:rpm -e --nodeps mysql-community-client-5.1.18-1.el7.i686
注意:一定要將mariaDB包和內建mysql包卸載乾淨,否則安裝時出現各種奇妙錯誤,導致失敗。
3.去官網https://dev.mysql.com/downloads/mysql/下載相應版本的mysql。
我的CentOS7是32位的,所以選擇了Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,32-bit)。
最小安裝下載四個檔案即可:
mysql-community-common-5.7.19-1.el7.i686.rpm
mysql-community-libs-5.7.19-1.el7.i686.rpm
mysql-community-client-5.7.19-1.el7.i686.rpm
mysql-community-server-5.7.19-1.el7.i686.rpm
4.安裝順序:
rpm -ivh mysql-community-common-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.i686.rpm
注意:common先裝,libs依賴common,client依賴libs,server依賴common和client。
5.檢查安裝目錄
執行whereis mysql出現下面的資訊說明已經安裝成功了。
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
6.檢查mysql設定檔
vi /etc/my.cnf
主要內容如下,一般什麼都不需要更改,預設值即可。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
7.檢查目錄許可權:
一定確保datadir設定的路徑的所有組和所有者是mysql,如果不是則運行下面命令更改,如果不改則初始化會失敗。
chown mysql:mysql -R /var/lib/mysql
8.關閉服務:
如果mysql服務開啟,則將其關閉
service mysqld stop
9.這裡是重點:一定要執行初始化!
mysqld --initialize -insecure --user=mysql
注意:這裡一定要加上-insecure,這樣mysql會建立一個沒有密碼的root賬戶,否則會建立有密碼的,密碼會寫在/var/log/mysqld.log裡面。
10.開啟服務:
service mysqld start
11.登入賬戶:
如果建立了沒有密碼的root賬戶,則直接mysql斷行符號,就會進入mysql了。
否則mysql -u root -p,輸入密碼。
至此,mysql的root賬戶可以登入本地的mysql了,但是預設不支援遠程登入,以下是如何讓root賬戶遠程登入的流程:
12.使用資料庫mysql
use mysql;
13.查詢root賬戶資訊
select * from user \G;
這樣會看到root賬戶沒有密碼,那麼我們給它加個密碼,沒有密碼的root賬戶是不允許遠程登入的。
14.修改root賬戶的密碼:
必須修改兩個全域參數:
set global validate_password_policy=0;
set global validate_password_length=1;
update user set aurhentication_string=PASSWORD(‘your password‘) where user=‘root‘;
注意:新版的mysql 5.7.15後需要上面的改法,因為欄位變更為aurhentication_string了,網上爛大街那個不能用。
15.commit許可權更改:
一定執行下面的語句,否則修改密碼不生效。
flush privileges;
16.確認密碼修改成功:
exit; 退出mysql
然後
mysql -u root -p
輸入密碼
17.登入成功後給root賬戶授權遠程登入
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘your password‘ WITH GRANT OPTION;
flush privileges;
注意:%表示任何機器都可遠程mysql,如果把%變成某個ip,就是指定某個機器才可以遠程登入。
18.嘗試遠程登入:
找個用戶端,輸入相關資訊
主機名稱或ip:******
連接埠:3306
使用者名稱:root
密碼:your password
=====================================================================================
2.mysql 密碼忘記了,怎麼辦?
====================================================================================
處理如下:
1.vi /etc/my.cnf
2.在[mysqld]中添加
skip-grant-tables
例如:
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
3.重啟mysql
service mysql restart
4.使用者無密碼登入
mysql -uroot -p (直接點擊斷行符號,密碼為空白)
5.選擇資料庫
use mysql;
6.修改root密碼
update user set authentication_string=password(‘123456‘) where user=‘root‘;
7.執行
flush privileges;
8.退出
exit;
9.刪除
skip-grant-tables
10.重啟mysql
service mysql restart
centos下安裝mysql5.7