centos下安裝mysql5.7

來源:互聯網
上載者:User

標籤:運行   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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.