最近把之前學生時代的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端口開放了,並且不需要開啟防火牆,直接用就行