CentOS 7安裝MySQL

weixin_34019929發表於2018-05-31

在CentOS7中預設安裝了MariaDB,MariaDB是MySQL的分支。在生成環境中還是決定在系統中安裝MySQL。MySQL安裝完成之後可以直接覆蓋掉MariaDB。

選擇安裝的版本是5.7的。

安裝MySQL使用root使用者:
1.開啟終端,提示符為“$”,表明該使用者為普通使用者,此時,直接輸su,回車,輸入root密碼,回車,就可以切換到root使用者下,此時的提示符變為“#”。

注意,輸入密碼時終端是不顯示的,而且每次切換為root使用者都要經過這個過程。

2.切換回普通使用者,只要輸入 “su 使用者名稱”就OK了。

一、下載MySQL官方的 Yum Repository

可以從官網之間下載後傳到CentOS7系統;或者之間用使用下面的命令下載安裝用的Yum Repository,大概25KB,然後就可以直接yum安裝。

[root@localhost admin]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
7393203-cf65519c0fa64465.PNG
01.PNG

二、安裝

[root@localhost admin]# yum -y install mysql57-community-release-el7-10.noarch.rpm
7393203-b0d3286283537462.PNG
02.PNG

接下來安裝MySQL伺服器:

[root@localhost admin]# yum -y install mysql-community-server

安裝MySQL伺服器需要處理依賴關係,安裝依賴軟體包和其他一些處理,等待一段時間。。。結束後會提示如下:


7393203-573bc3648e894111.PNG
03.PNG

資料庫安裝完成,接著要進行設定。

三、資料庫設定

啟動mysql:

[root@localhost admin]# systemctl start  mysqld.service

檢視mysql狀態:

[root@localhost admin]# systemctl status mysqld.service
7393203-92365d398f37716f.PNG
04.PNG

如圖mysql已經正常執行。

接下來要登陸資料庫,首先檢視初始密碼:

[root@localhost admin]# grep "password" /var/log/mysqld.log
7393203-118715693ed0e17a.PNG
05.PNG

登陸資料庫,輸入上面查到的密碼:ydwxJ/<VJ1ag

[root@localhost admin]# mysql -u root -p
7393203-94bc72888a62d63a.PNG
06.PNG

此時雖然登陸了,但是不能進行資料操作。因為5.7版本需要修改密碼後才可以操作。
測試環境下為了能用簡單的密碼,先設定一下密碼設定規則:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
7393203-f28869d38e1122aa.PNG
07.PNG

修改密碼:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
7393203-6f40f53ed90a9b9c.PNG
08.PNG

測試

7393203-867eb501de16af6a.PNG
09.PNG

退出登陸後用新設定的密碼登陸,成功。

授權遠端訪問

mysql資料庫部署在linux伺服器上,伺服器在機房,或者是雲伺服器,mysql預設只允許root帳戶在本地登入,為了在其他機器上可以運算元據庫,而不是在伺服器機器上操作,這就可以修改root允許遠端連線,或者新增一個允許遠端連線的帳戶。
root授權遠端訪問:

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql> flush privileges;

將所有資料庫的所有表(.)的所有許可權(all privileges),授予通過任何ip(%)訪問的root使用者,密碼為123456,最後重新整理(flush privileges)即可。

新增遠端登入使用者:

mysql>grant all privileges on *.* to 'testuser'@'%' identified by '123456' with grant option; 

新增了一個testuser使用者。
最後,在linux上開放防火牆埠。

設定開機啟動

[root@localhost admin]# systemctl enable mysqld
[root@localhost admin]# systemctl daemon-reload

資料庫配置

預設配置檔案路徑:
配置檔案:/etc/my.cnf
日誌檔案:/var/log//var/log/mysqld.log
服務啟動指令碼:/usr/lib/systemd/system/mysqld.service
socket檔案:/var/run/mysqld/mysqld.pid

比如配置資料庫預設編碼為utf8
修改/etc/my.cnf配置檔案,在[mysqld]下新增編碼配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新啟動mysql服務。

常用資料庫命令

1.更改root密碼

mysqladmin -uroot password 'yourpassword'

2.遠端登陸mysql伺服器

mysql -uroot -p -h192.168.137.10 -P3306

3.查詢資料庫

show databases;

4.進入某個資料庫

use databasename;

5.列出資料庫中的表

show tables;

6.檢視某個表全部欄位

desc slow_log;

show create table slow_log\G; (不僅可以顯示錶資訊,還可以顯示建表語句)

7.檢視當前使用者

select user();

8.檢視當前所在資料庫

select database();

9.建立新資料庫(可以指定字符集)

create database db1 charset utf8;

10.建立新表

create table t1 (`id` int(4), `name` char(40));

11.檢視資料庫版本

select version();

12.檢視資料庫狀態

show status;         當前會話狀態

show global status;  全域性資料庫狀態

show slave status\G;   檢視主從資料庫狀態資訊

13.查詢資料庫引數

show variables;

14.修改資料庫引數

show variables like 'max_connect%';

set global max_connect_errors = 1000;(重啟資料庫會失效,要在配置檔案中修改)

15.檢視當前資料庫佇列

show processlist;

16.建立普通使用者並授權給某個資料庫

grant all on databasename.* to 'user1'@'localhost' identified by '123456';

17.查詢表資料

select * from mysql.db;           //查詢該表中的所有欄位

select count(*) from mysql.user;  //count(*)表示表中有多少行

select db,user  from mysql.db;    //查詢表中的多個欄位

select * from mysql.db where host like '10.0.%';在查詢語句中可以使用萬能匹配 “%”

18.插入一行資料

insert into db1.t1 values (1, 'abc');

19.更改表的某一行資料

update db1.t1 set name='aaa' where id=1;

20.清空表資料

truncate table db1.t1;

21.刪除表

drop table db1.t1;

22.清空資料庫中的所有表(資料庫名是eab12)

mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12

23.刪除資料庫

drop database db1;

24.資料庫備份

mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql

25.資料庫恢復

mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql

26.新建普通使用者

CREATE USER name IDENTIFIED BY 'ssapdrow';

27.更改普通使用者密碼

SET PASSWORD FOR name=PASSWORD('fdddfd');

28.檢視name使用者許可權

SHOW GRANTS FOR name;

相關文章