1. 程式人生 > >在centos7系統下安裝mysql資料庫

在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]

~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

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

[email protected]: h.zdWmt/l0M3
注意:只有啟動過一次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

注意:

  1. /etc/my.cnf 這是mysql的主配置檔案
  2. /var/lib/mysql mysql資料庫的資料庫檔案存放位置
  3. /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>