1. 程式人生 > >CentOS下搭建mysql

CentOS下搭建mysql

文章來自:http://www.jianshu.com/p/4a41a6df19a6,我自己調整了下

1、官方安裝文件

2、下載 Mysql yum包

下載到本地再上傳到伺服器,或者使用wget 直接下載

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

3、安轉軟體源

platform-and-version-specific-package-name 替換為你下載的rpm名

sudo rpm -Uvh platform-and-version-specific-package-name.rpm

例如

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

4、安裝mysql服務端

 yum install  -y  mysql-community-server

如果網路環境不是很好,執行完命令就可以去泡杯茶?或者榮耀殺一局(可以自己先下載好相應的rpm包或直接下載...bundle.tar壓縮包)

5、首先啟動mysql

service mysqld start(重啟是restart,完全弄好MySQL後最好新增lower_case_table_names=1到[mysqld]下面一行然後重啟MySQL,這是為了和windows相容,還有就是在[mysql]下面一行加入default-character-set=utf8)
systemctl start mysqld.service(這個是上面步驟執行後自動輸出的,我這邊的全稱是:Redirecting to /bin/systemctl start  mysqld.service)
然後回到[.....]#

6、接著檢查mysql 的執行狀態

service mysqld status
systemctl status mysqld.service(也是系統自動輸出的,我這邊全稱是:Redirecting to /bin/systemctl status  mysqld.service)
然後會輸出一大段關於MySQL狀態的資訊:

mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 日 2017-07-30 08:24:29 CST; 26s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 58507 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 58426 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 58511 (mysqld) CGroup: /system.slice/mysqld.service └─58511 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/my...

7月 30 08:24:21 localhost.localdomain systemd[1]: Starting MySQL Server... 7月 30 08:24:29 localhost.localdomain systemd[1]: Started MySQL Server.(注意這句話,說明此時MySQL服務已經在執行)

7、修改臨時密碼

Mysql5.7預設安裝之後root是有密碼的。

7.1 獲取MySQL的臨時密碼

為了加強安全性,MySQL5.7為root使用者隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則預設是/var/log/mysqld.log。 只有啟動過一次mysql才可以檢視臨時密碼

grep 'temporary password' /var/log/mysqld.log(如果之前安裝過MySQL則這裡可能會有多個密碼,用最後一個,注意這個密碼輸入時是可以貼上的)

 

這裡的密碼是YdsGaxOq>2n!

7.2 登陸並修改密碼

使用預設的密碼登陸

mysql -uroot -p(這是一個MySQL的以密碼登入root使用者的命令)

用該密碼登入到服務端後,必須馬上修改密碼再執行一些資料庫操作,不然會報如下錯誤:

mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>

修改密碼(注意,登入後的操作後面都最好要有;結尾)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

如果密碼設定太簡單出現以下的提示

如何解決ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 這裡直接提供解決方案文末有詳細的說明

必須修改兩個全域性引數: 首先,修改validate_password_policy引數的值

mysql> set global validate_password_policy=0;

再修改密碼的長度

set global validate_password_length=1;

再次執行修改密碼就可以了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';(ALTER等可以寫成小寫)

8、授權其他機器登陸

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

FLUSH  PRIVILEGES;

9、關於密碼設定的詳細說明