在centos7系統下安裝mysql資料庫
一:安裝mysql
CentOS中預設安裝有MariaDB,在安裝MySQL時會覆蓋MariaDB。 這裡採用Yum管理好了各種rpm包的依賴,能夠從指定的伺服器自動下載RPM包並且安裝,所以在安裝完成後必須要卸掉,否則會自動更新。
所有的操作都是切換到root使用者下進行
1、安裝MySQL官方的Yum Repository
[[email protected] ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2:、下載rpm包
[[email protected]
3、安裝MySQL服務
[[email protected] ~]# yum -y install mysql-community-server
執行安裝服務的時間比較長,耐心等待,中間有一次詢問y/n?輸入y回車
4、啟動mysql服務:
[[email protected] ~]# systemctl start mysqld.service
5、其他命令:
重啟:systemctl restart mysqld.service
停止:systemctl stop mysqld.service
檢視狀態:systemctl status mysqld.service
最後兩行出現:代表啟動成功。
Starting MySQL Server...
Started MySQL Server.
二:初始化設定
1、登入使用者:
[[email protected] ~]# mysql -u root -p
首次登入需要輸入生成的初始密碼,登陸後必須要修改這個密碼。
初始密碼預設是/var/log/mysqld.log,找到下面這行,臨時密碼是:h.zdWmt/l0M3。
2018-08-22T07:06:29.387527Z 1 [Note] A temporary password is generated for
注意:只有啟動過一次mysql才可以檢視臨時密碼。
2、重新設定密碼:
重新設定密碼之前,需要根據自己需求設定密碼的複雜度和長度時,要登入資料庫後設置如下引數。
validate_password_policy代表密碼策略,預設是1:符合長度,且必須含有數字,小寫或大寫字母,特殊字元。設定為0判斷密碼的標準就基於密碼的長度了。一定要先修改兩個引數再修改密碼
mysql> set global validate_password_policy=0;
validate_password_length代表密碼長度,最小值為4
mysql> set global validate_password_length=4;
通過命令檢視設定引數的情況:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 6 |
| validate_password_mixed_case_count | 2 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
注意:以上兩行設定都是臨時設定,重啟資料庫後需要重新設定,再建立新密碼。
設定新密碼:
修改密碼為root,之後就可以使用該密碼登入了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; //程式碼使用者為root的密碼是root.
3、退出資料庫:
exit
注意:
- /etc/my.cnf 這是mysql的主配置檔案
- /var/lib/mysql mysql資料庫的資料庫檔案存放位置
- /var/log mysql資料庫的日誌輸出存放位置
三:更改遠端訪問許可權
1、使用grant all privileges on來更改使用者對應某些庫的遠端許可權
語法模板:
grant all privileges on 庫名.表名 to '使用者名稱'@'IP地址' identified by '密碼' with grant option;
具體含義:
庫名:要遠端訪問的資料庫名稱,所有的資料庫使用“*”
表名:要遠端訪問的資料庫下的表的名稱,所有的表使用“*”
使用者名稱:要賦給遠端訪問許可權的使用者名稱稱
IP地址:可以遠端訪問的電腦的IP地址,所有的地址使用“%”
密碼:要賦給遠端訪問許可權的使用者對應使用的密碼
例項:
以下語句代表:所有的地址都可以使用root使用者,密碼為lxh遠端訪問所有的資料庫
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lxh' WITH GRANT OPTION;
以下語句代表: IP為172.16.52.225的電腦可以使用lxh使用者,密碼為lxh遠端訪問資料庫testdb的所有表
GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'172.16.52.225' IDENTIFIED BY 'lxh' WITH GRANT OPTION;
注意:
需要注意mysql的配置檔案中的bindaddress 的引數和skip-networking 配置
bindaddress : 設定哪些ip地址被配置,使得mysql伺服器只回應哪些ip地址的請求),最好註釋掉該引數或設定成為127.0.0.1以外的值
skip-networking : 如果設定了該引數項,將導致所有TCP/IP埠沒有被監聽,也就是說出了本機,其他客戶端都無法用網路連線到本mysql伺服器,所以應該註釋掉該引數
2、設定引數
設定資料庫編碼方式:
開啟: /etc/my.cnf,滾動到檔案底部複製並貼上
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
注意:
採用navicat新建資料庫時,需要將編碼方式設定為,字符集:utf8 -- UTF-8 Unicode ,排序規則:utf8_general_ci
在執行sql語句時,出現以下問題:
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c
原因:
MySQL 5.7.5及以上功能依賴檢測功能。如果啟用了ONLY_FULL_GROUP_BY SQL模式(預設情況下),MySQL將拒絕選擇列表,HAVING條件或ORDER BY列表的查詢引用在GROUP BY子句中既未命名的非集合列,也不在功能上依賴於它們。(5.7.5之前,MySQL沒有檢測到功能依賴關係,預設情況下不啟用ONLY_FULL_GROUP_BY。有關5.7.5之前的行為的說明,請參見“MySQL 5.6參考手冊”)。
解決辦法:
開啟: /etc/my.cnf
滾動到檔案底部複製並貼上
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
到檔案的底部
儲存並退出輸入模式
systemctl restart mysqld.service
重啟MySQL。
以下對資料庫的操作完全可以利用管理軟體完成,比如在Navicat上進行操作,對資料庫進行使用者和許可權管理。
1、建立使用者:以root使用者登入到資料庫進行使用者建立
命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例如:
CREATE USER 'test_admin'@'localhost' IDENTIFIED BY '[email protected]_S';
CREATE USER 'test_admin2'@'%' IDENTIFIED BY '';
note:
username——將要建立的使用者名稱;
host——指定該使用者在哪個主機上可以登入,"localhost"指該使用者只能在本地登入,不能在另外一臺機器上遠端登入,如果想遠端登入,將"localhost"改為"%",表示在任何一臺電腦上都可以登入;也可以指定某臺機器可以遠端登入;
password——該使用者的登入密碼,密碼可以為空,若為空則該使用者可以不需要密碼登入伺服器。
2、授權:以root使用者登入到資料庫進行授權
命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'
note:
privileges——使用者的操作許可權,如SELECT等。如果授予所有許可權則使用ALL。
databasename——資料庫名稱。tablename——表名。如果要給該使用者授予對所有資料庫和表的相應操作許可權則可用*表示,例如*.*
例如:
GRANT SELECT ON test_db.* TO 'test_admin2'@'%';
flush privileges;
note:必須執行flush privileges;
3、撤銷使用者許可權
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
例如:
REVOKE SELECT ON test_db.* FROM 'test_min'@'%';
4、刪除賬戶及許可權:
命令:
drop user 'username'@'host';
5、檢視使用者的授權
命令:
SHOW GRANTS FOR 'username'@'host'
例如:
mysql> SHOW GRANTS FOR 'test_admin'@'%' ;
+----------------------------------------------------------------+
| Grants for [email protected]% |
+----------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test_admin'@'%' |
| GRANT ALL PRIVILEGES ON `test_manage_db`.* TO 'test_admin'@'%' |
+----------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
相關推薦
在centos7系統下安裝mysql資料庫
一:安裝mysql CentOS中預設安裝有MariaDB,在安裝MySQL時會覆蓋MariaDB。 這裡採用Yum管理好了各種rpm包的依賴,能夠從指定的伺服器自動下載RPM包並且安裝,所以在安裝完成後必須要卸掉,否則會自動更新。 所有的操作都是切換到root使用者下進
CentOS7.x下安裝MySQL資料庫
1、wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2、rpm -ivh mysql-community-release-el7-5.noarch.rpm 3、yum insta
如何徹底解除安裝linux系統下的mysql資料庫
1、查詢以前是否裝有mysql 命令:rpm -qa|grep -i mysql 可以看到如下圖的所示: 說明之前安裝了:MySQL-client-5.5.25a-1.rhel5 MySQL-server-5.5.25a-1.rhel5 2、停止mysql服務、
Centos7 下安裝Mysql資料庫
首先去mysql官網 yum庫下載地址列表 找到相應.rpm 包的下載地址,然後去 Linux下執行Wget下載該rpm包,例如 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.r
win10系統下安裝mysql
images mysql下載 err -- 修改 分享 generate 語句 5.7 1.從官網下載MySQL 下載地址:http://dev.mysql.com/downloads/ 2.解壓到想要安裝的目錄(博主安裝到: d:\mysql下) 新增
Windows系統下安裝MySQL 8.0.11數據庫
初始化 密碼修改 之前 ima In cal char http IE MySQL數據庫是常用的數據庫之一,而且該數據庫開源免費,所以很多公司在使用。本文記錄如何在Windows系統下安裝MySQL數據庫,本次安裝的版本號為8.0.11,這個版本是當前的最新版本,據宣傳,8
Ubuntu系統下安裝MYSQL
成功 libmysql mys ges 51cto rep ibm ins text 操作系統版本:Ubuntu 12.0 LTS 安裝命令:sudo apt-get install mysql-server 檢查MYSQL是否安裝成功:sudo net
Centos7.4下安裝mysql-5.6.41
mys 但是 啟動mysql ann node 連接 rpm owin pack Centos7.4下安裝mysql-5.6.41二進制包 1、下載mkdir /data/sqlcd /data/sql wget https://cdn.mysql.com//Downloa
在CentOS7系統上安裝MySQL數據庫
community provide 官方 key 使用 sys centos 輸入 round 1.下載安裝MySQL官方repo文件 下載MySQL的官方repo文件 [root@centos7 ~]# wget -i -c http://dev.mysql.com/ge
Linux下安裝MySQL資料庫mysql-5.7.11
Linux下安裝MySQL資料庫(壓縮包方式安裝) https://www.cnblogs.com/xiaotao726/p/6562265.html PS:9、建立In ln -s /usr/local/mysql/ /usr/bin/ 連線資料庫時會顯示:[[email protecte
centos7系統下安裝php-fpm並配置nginx支援並開啟網站gzip壓縮
注:此處不介紹nginx的安裝。以下教程預設已安裝nginx。 1. yum install -y php-fpm yum install php-pdo yum install php-mysql yum安裝預設版本是php5.4,要使用更高版本可使用yum search all
linux系統下操作mysql資料庫常見命令
一. 備份資料庫(如: test): ①可直接進入後臺即可.(MySQL的預設目錄:/var/lib/mysql ) ②輸入命令: [[email protected] mysql]# mysqldump -u root -p test>/home/bak/201
Centeos7 系統下安裝Mongodb資料庫
1下載MongoDB資料庫 下載地址 :https://www.mongodb.com/ 2在Centos中建立指定的資料夾,將下載好的壓縮包上傳到該資料夾下並解壓: mkdir /usr/mongodb 上傳壓縮檔案後在該檔案目錄下解壓: tar -rf mo
Linux系統下安裝MySQL
MySQL for Ubuntu: 一直對Linux非常感興趣,所以就愛折騰,MySQL作為比較流行的關係型資料庫,當然也免不了折騰折騰。 1. 安裝 sudo a
Linux-Centos7系統下安裝python2並與python3版本共存
問題描述: 最近有個需求是想在centos下安裝python3.5 因為django這邊用到是這個版本 1.檢視系統版本和python版本 Centos7.6版本預設安裝的是python2.7.5版本 利用cat檢視系統版本,python -V檢視python版本 which檢視python目錄,
Linux工作筆記032---Centos7.3下安裝mysql
解除安裝MariaDB 因為擔心Oracle把MySQL變成閉源軟體 MySQL的創始人利用MySQL的原始碼建立了MariaDB,MariaDB與MySQL相容 CentOS擔心使用MySQL會引來版權問題,所以改為整合MariaDB yum remov
Linux系統下修改mysql資料庫的預設字符集
在建立mysql資料庫時,字符集編碼預設狀態下為latin1。如果要支援中文,需要在建立資料庫時設定字符集編碼為utf8: create database 庫名 character set utf8;
centos7環境下安裝MySQL
安裝MySQL官方的Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 下載rpm包 yum -y install mysql57-
關於windows下安裝mysql資料庫出現中文亂碼的問題
[WinMySQLAdmin] Server=E:/mysql/mysql-5.6.41-winx64/bin/mysqld-opt.exe user=root [mysql] default-character-set=utf8 [mysqld] lower_case_table_names=2 bas
在Linux系統下進入MySql資料庫進行操作
1、進入mysql資料庫 [email protected]# mysql -root -123456 <root是使用者名稱,123456是密碼> 2、查詢所有的庫 mysql> show databases; 3、進入資料庫“student”是庫名 mysql>