免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Centos 7 安裝 MySQL

總所周知,MySQL 被 Oracle 收購(gòu)后,CentOS 的鏡像倉(cāng)庫(kù)中提供的默認(rèn)的數(shù)據(jù)庫(kù)也變?yōu)榱?MariaDB,如果想了解 MariaDB 和 CentOS 的區(qū)別,可以參考官網(wǎng)介紹,想用 MariaDB 的同學(xué)可以參考 MariaDB 安裝指南

言歸正傳,在 CentOS 上安裝 MySQL 差不多有四個(gè)步驟

添加 MySQL YUM 源

根據(jù)自己的操作系統(tǒng)選擇合適的安裝源,和其他公司一樣,總會(huì)讓大家注冊(cè)賬號(hào)獲取更新,注意是 Oracle 的賬號(hào),如果不想注冊(cè),下方有直接下載的地址,下載之后通過(guò) rpm -Uvh 安裝。

$wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'$sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm$yum repolist all | grep mysqlmysql-connectors-community/x86_64 MySQL Connectors Community                  36mysql-tools-community/x86_64      MySQL Tools Community                       47mysql57-community/x86_64          MySQL 5.7 Community Server                 187

先解釋下為什么下載的是 5.7 版本的,現(xiàn)在最新的是 5.7 版本的,當(dāng)然官網(wǎng)默認(rèn)都是最新版本的,但是下載的頁(yè)面也有說(shuō)明

The MySQL Yum repository includes the latest versions of:
MySQL 8.0 (Development)
MySQL 5.7 (GA)
MySQL 5.6 (GA)
MySQL 5.5 (GA - Red Hat Enterprise Linux and Oracle Linux Only)
MySQL Cluster 7.5 (GA)
MySQL Cluster 7.6 (Development)
MySQL Workbench
MySQL Fabric
MySQL Router (GA)
MySQL Utilities
MySQL Connector / ODBC
MySQL Connector / Python
MySQL Shell (GA)

也就是說(shuō)這個(gè)安裝源包含了上面列舉的這些版本,當(dāng)然包括 5.6 版本的。

選擇安裝版本

如果想安裝最新版本的,直接使用 yum 命令即可

$sudo yum install mysql-community-server

如果想要安裝 5.6 版本的,有2個(gè)方法。命令行支持 yum-config-manager 命令的話,可以使用如下命令:

$ sudo dnf config-manager --disable mysql57-community$ sudo dnf config-manager --enable mysql56-community$ yum repolist | grep mysqlmysql-connectors-community/x86_64 MySQL Connectors Community                  36mysql-tools-community/x86_64      MySQL Tools Community                       47mysql56-community/x86_64          MySQL 5.6 Community Server                 327

或者直接修改 /etc/yum.repos.d/mysql-community.repo 這個(gè)文件

# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/enabled=1 #表示當(dāng)前版本是安裝gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=0 #默認(rèn)這個(gè)是 1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

通過(guò)設(shè)置 enabled 來(lái)決定安裝哪個(gè)版本。

設(shè)置好之后使用 yum 安裝即可。

啟動(dòng) MySQL 服務(wù)

啟動(dòng)命令很簡(jiǎn)單

$sudo service mysqld start $sudo systemctl start mysqld #CentOS 7$sudo systemctl status mysqld● mysqld.service - MySQL Community Server   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)   Active: active (running) since Sat 2017-05-27 12:56:26 CST; 15s ago  Process: 2482 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)  Process: 2421 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 2481 (mysqld_safe)   CGroup: /system.slice/mysqld.service           ├─2481 /bin/sh /usr/bin/mysqld_safe --basedir=/usr           └─2647 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/...

說(shuō)明已經(jīng)正在運(yùn)行中了。

對(duì)于 MySQL 5.7 版本,啟動(dòng)的時(shí)候如果數(shù)據(jù)為空的,則會(huì)出現(xiàn)如下提示

The server is initialized.
An SSL certificate and key files are generated in the data directory.
The validate_password plugin is installed and enabled.
A superuser account 'root'@'localhost' is created. A password for the superuser is set and stored in the error log file.To reveal it, use the following command:
sudo grep 'temporary password' /var/log/mysqld.log

簡(jiǎn)單的說(shuō)就是服務(wù)安裝好了,SSL 認(rèn)證的文件會(huì)在 data 目錄中生存,密碼不要設(shè)置的太簡(jiǎn)單了,初始密碼通過(guò)下面的命令查看,趕緊去改密碼吧。
安裝提示,查看密碼,登錄數(shù)據(jù)庫(kù),然后修改密碼:

$ mysql -uroot -p  #輸入查看到的密碼mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

MySQL 5.6 的安全設(shè)置

由于 5.7 版本在安裝的時(shí)候就設(shè)置好了,不需要額外設(shè)置,但是 5.6 版本建議從安全角度完善下,運(yùn)行官方腳本即可

$ mysql_secure_installation

會(huì)提示設(shè)置5個(gè)關(guān)鍵位置

  1. 設(shè)置 root 密碼
  2. 禁止 root 賬號(hào)遠(yuǎn)程登錄
  3. 禁止匿名賬號(hào)(anonymous)登錄
  4. 刪除測(cè)試庫(kù)
  5. 是否確認(rèn)修改

安裝第三方組件

查看 yum 源中有哪些默認(rèn)的組件:

$ yum --disablerepo=\* --enablerepo='mysql*-community*' list available

需要安裝直接通過(guò) yum 命令安裝即可。

修改編碼

/etc/my.cnf 中設(shè)置默認(rèn)的編碼

[client]default-character-set = utf8[mysqld]default-storage-engine = INNODBcharacter-set-server = utf8collation-server = utf8_general_ci #不區(qū)分大小寫collation-server =  utf8_bin #區(qū)分大小寫collation-server = utf8_unicode_ci #比 utf8_general_ci 更準(zhǔn)確

創(chuàng)建數(shù)據(jù)庫(kù)和用戶

創(chuàng)建數(shù)據(jù)庫(kù)

CREATE DATABASE <datebasename> CHARACTER SET utf8;CREATE USER 'username'@'host' IDENTIFIED BY 'password';GRANT privileges ON databasename.tablename TO 'username'@'host';SHOW GRANTS FOR 'username'@'host';REVOKE privilege ON databasename.tablename FROM 'username'@'host';DROP USER 'username'@'host';

其中

  • username:你將創(chuàng)建的用戶名
  • host:指定該用戶在哪個(gè)主機(jī)上可以登陸,如果是本地用戶可用 localhost,如果想讓該用戶可以從任意遠(yuǎn)程主機(jī)登陸,可以使用通配符 %
  • password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務(wù)器
  • privileges:用戶的操作權(quán)限,如 SELECT,INSERT,UPDATE 等,如果要授予所的權(quán)限則使用ALL
  • databasename:數(shù)據(jù)庫(kù)名
  • tablename:表名,如果要授予該用戶對(duì)所有數(shù)據(jù)庫(kù)和表的相應(yīng)操作權(quán)限則可用 * 表示,如 *.*

Django 中使用 MySQL

Django 默認(rèn)使用的是 sqlite3 數(shù)據(jù)庫(kù),可以修改如下

DATABASES = {    'default': {        # 'ENGINE': 'django.db.backends.sqlite3',        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),        'ENGINE': 'django.db.backends.mysql',         'OPTIONS': {            'read_default_file': '/path/to/my.cnf',            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'" ,            'isolation_level':'read committed',            'init_command': 'SET default_storage_engine=INNODB',        },        'NAME': 'mydatabase',        'USER': 'mydatabaseuser',        'PASSWORD': 'mypassword',        'HOST': '127.0.0.1',        'PORT': '3306',    }}# my.cnf[client]database = 'mydatabase'user = 'mydatabaseuser'password = 'mypassword'default-character-set = utf8

重點(diǎn)關(guān)注下 OPTIONS 選項(xiàng),它會(huì)優(yōu)先與下面的配置項(xiàng)。在 Django 官方文檔說(shuō)明中,主要強(qiáng)調(diào)了 init_command, isolation_level 這兩個(gè)選項(xiàng)的設(shè)置。

init_command

為了防止數(shù)據(jù)的丟失,mysql 5.7 和新裝的 5.6 版本都新增加了一個(gè)模式 STRICT_TRANS_TABLES,在這個(gè)模式下,如果插入數(shù)據(jù)中斷就會(huì)報(bào)錯(cuò),而不是僅僅之前的警告。之前的模式默認(rèn)為 NO_ENGINE_SUBSTITUTION. 所以也建議設(shè)置為 STRICT_TRANS_TABLES 或者 STRICT_ALL_TABLES. 在選項(xiàng)中設(shè)置或者在數(shù)據(jù)庫(kù)中設(shè)置都可以的。

isolation_level

這是在 Django 1.11 版本中新增加的一個(gè)選擇,當(dāng)運(yùn)行并發(fā)負(fù)載時(shí),來(lái)自不同會(huì)話的數(shù)據(jù)庫(kù)事務(wù)(例如,處理不同請(qǐng)求的單獨(dú)線程)可能會(huì)相互交互,這些交互受每個(gè)會(huì)話的事務(wù)隔離級(jí)別的影響。默認(rèn)有 5 個(gè)隔離級(jí)別,默認(rèn)為 REPEATABLE-READ

mysql> SELECT @@global.tx_isolation;+-----------------------+| @@global.tx_isolation |+-----------------------+| REPEATABLE-READ       |+-----------------------+1 row in set (0.00 sec)-  read uncommitted # SELECT的時(shí)候允許臟讀,即SELECT會(huì)讀取其他事務(wù)修改而還沒(méi)有提交的數(shù)據(jù)。-  read committed# SELECT的時(shí)候無(wú)法重復(fù)讀,即同一個(gè)事務(wù)中兩次執(zhí)行同樣的查詢語(yǔ)句,若在第一次與第二次查詢之間時(shí)間段,其他事務(wù)又剛好修改了其查詢的數(shù)據(jù)且提交了,則兩次讀到的數(shù)據(jù)不一致。-  repeatable read# SELECT的時(shí)候可以重復(fù)讀,即同一個(gè)事務(wù)中兩次執(zhí)行同樣的查詢語(yǔ)句,得到的數(shù)據(jù)始終都是一致的。實(shí)現(xiàn)的原理是,在一個(gè)事務(wù)對(duì)數(shù)據(jù)行執(zhí)行讀取或?qū)懭氩僮鲿r(shí)鎖定了這些數(shù)據(jù)行。但是這種方式又引發(fā)了幻想讀的問(wèn)題。因?yàn)橹荒苕i定讀取或?qū)懭氲男?,不能阻止另一個(gè)事務(wù)插入數(shù)據(jù),后期執(zhí)行同樣的查詢會(huì)產(chǎn)生更多的結(jié)果。數(shù)據(jù)庫(kù)默認(rèn)的級(jí)別。-  serializable# 與可重復(fù)讀的唯一區(qū)別是,默認(rèn)把普通的SELECT語(yǔ)句改成SELECT …. LOCK IN SHARE MODE。即為查詢語(yǔ)句涉及到的數(shù)據(jù)加上共享瑣,阻塞其他事務(wù)修改真實(shí)數(shù)據(jù)。serializable模式中,事務(wù)被強(qiáng)制為依次執(zhí)行。-  None# 無(wú)隔離級(jí)別

MySQL 修改時(shí)間戳為服務(wù)器時(shí)間

mysql 中默認(rèn)的時(shí)間戳是 UTC 時(shí)間,需要改為服務(wù)器時(shí)間的話官網(wǎng)提供了 3 種方式

$ mysql_tzinfo_to_sql tz_dir$ mysql_tzinfo_to_sql tz_file tz_name$ mysql_tzinfo_to_sql --leap tz_file

tz_dir 代表服務(wù)器時(shí)間數(shù)據(jù)庫(kù),CentOS 7 中默認(rèn)的目錄為 /usr/share/zoneinfo ,tz_name 為具體的時(shí)區(qū)。如果設(shè)置的時(shí)區(qū)需要閏秒,則使用 --leap,具體的用法如下:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql$ mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql$ mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
mysql數(shù)據(jù)庫(kù)安裝到Centos云服務(wù)器教程
centos6.5使用yum安裝mysql
Linux(CentOS)安裝MySql
CentOS7.2安裝mysql
centos7下使用yum安裝mysql
CentOS下升級(jí)MySQL 5.0.19到5.5
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服