linux(centos)上安裝mysql教程,為需要遠程登錄的用戶賦予權限


最近把之前學生時代的win server換成了linux(centos)系統,因為win對於部署一些項目時候比較麻煩,直接入正題

 

1、准備階段

我使用xshell工具管理服務器,相應下載和安裝自行百度

 

2、安裝

接下來主要介紹Linux下使用yum安裝MySQL,以及啟動、登錄和遠程訪問MySQL數據庫。

2.1安裝mysql客戶端

yum install mysql

如何出現下面這個,說明,已經安裝了mysql

 

2.2安裝mysql服務端

yum install mysql-server
 
yum install mysql-devel

在CentOS7上用上面的命令安裝mysql服務端時,出現了以下的提示:

原因是:

CentOS7帶有MariaDB而不是MySQL,MariaDB和MySQL一樣也是開元的數據庫,您可以使用yum -y install mariadb-server mariadb命令安裝

 

解決方案:

如果必須要安裝MySQL,首先必須添加mysql社區repo通過輸入命令:

sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

最后使用像安裝MySQL的常規方法一樣輸入上面兩行命令安裝既可

 

2.3啟動和停止

1、數據庫字符集設置,mysql配置文件/etc/my.cnf中加入default-character-set=utf8

2、啟動mysql服務

service mysqld start或者/etc/init.d/mysqld start

 

3、檢查是否成功啟動了mysql

 

4、停止mysql

service mysqld stop

 

5、開機啟動

chkconfig -add mysqld

chkconfig --list | grep mysql* //查看開機啟動設置是否成功
 mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

 

 2.4登錄

 1、創建root管理員

mysqladmin -u root password 123456

1.1創建普通用戶 

create user 用戶名 identified by '密碼';

例:create user xiaogang identified by '123456';

1.2刪除普通用戶 (管理員權限)

drop user 用戶名@'%';

 

2、登陸

mysql -u root -p輸入密碼即可。

 

3、忘記密碼

service mysqld stop
 
mysqld_safe --user=root --skip-grant-tables
 
mysql -u root
 
use mysql
 
update user set password=password("new_pass") where user="root";
 
flush privileges;

 

2.5遠程登陸

開放防火牆的端口號,這個可以在控制台設置

 

 設置相關的端口號外網是否可以訪問。

1、為需要遠程登錄的用戶賦予權限

如何給用戶分配權限

grant 權限 on 數據庫.數據表 to '用戶' @ '主機名';

(1)支持root用戶允許遠程連接mysql數據庫

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

注意:root就擁有了所有的權限

 

(2)新建用戶遠程連接mysql數據庫

grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;

允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。
注意admin賬戶不一定要存在。

注意:admin用戶就擁有了所有的權限

 

(3)新建用戶saucxs為xianhe數據庫賦予所有權限【常用】

 grant all privileges on xianhe.* to saucxs@'%' identified by '123456' with grant option;

flush privileges;

允許任何ip地址(%表示允許任何ip地址)的電腦用saucxs帳戶和密碼(123456)來訪問這個mysql server。
注意admin賬戶不一定要存在。

注意:saucxs用戶就擁有了所有的權限

 

(4)讓 saucxs有查詢 weekly數據庫week_week 表的權限;

grant select on weekly.week_week to 'saucxs'@'%';

 

(5)讓saucxs有增刪改查weekly數據庫所有表的數據權限

grant select,insert,update,delete on weekly.* to 'saucxs'@'%';

注意:這個只有刪除表中數據增刪改查,而不是表的增刪改查

下面是我要進行建表操作,被拒絕了

 

(6)給電腦IP為10.163.225.87的用戶saucxs分配可對數據庫weekly的week_week表進行select,insert,update,delete,create,drop等操作的權限,並設定口令為123456。這樣做的目的是只有在指定的電腦指定IP上才能登陸這個數據庫賬號。

grant select,insert,update,delete,create,drop,alter on weekly.week_week to saucxs@10.163.225.87;

注意:這個create和drop,alter 是指的數據庫表的創建和刪除,表字段添加,而不是數據表中數據新增和刪除。

 

(7)如何收回mysql分配給別的用戶的權限,一般指有root用戶才具有該權限

revoke 權限 on  數據庫.數據表 from '用戶'@'主機名';

 舉個例子,回收查詢功能,這樣查詢功能就失效了

revoke select on weekly.* from 'saucxs'@'%';

 

(8)查看端口

show global variables like 'port'

 

centos7.x已經把3306端口開放了,並且不需要開啟防火牆,直接用就行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM