關於linux怎麼把mysql部署的信息

本文目錄一覽:

怎樣在Linux環境下安裝部署MySQL數據庫系統

在Linux安裝軟件需要預先做好如下一些準備:準備好Linux操作系統如:CentOS7。配置好yum源。

完成上述準備後,就可以動手安裝MySQL數據庫了。主要安裝步驟如下:

1. 禁用selinux

setenforce 0

2. 上傳安裝文件到Linux

3.解壓rpm包

tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

4.安裝軟件

yum install mysql-community-{libs,client,common,server}-*.rpm

5.啟動mysql數據庫初始化

systemctl start mysqld

6.修改vi /etc/my.cnf

添加:

[mysqld]

#可以在表中錄入中文

character-set-server=utf8 #

explicit-defaults-for-timestamp

# 禁用當前密碼認證策略,可以使用簡單密碼(生產環境不適用)

validate_password=0

7.重啟mysql服務

systemctl restart mysqld

8.找臨時登錄密碼

grep -i “temporary password” /var/log/mysqld.log

9.連接MySQL數據庫

mysql -uroot -p 輸入臨時密碼

10.修改root用戶登錄密碼為簡單密碼(生產環境不適用)

alter user root@localhost identified by ”;

11.配置MYSQL_PS1環境變量

修改家目錄下:.bash_profile文件,添加

export MYSQL_PS1=”\u@\h[\d]”

12.使新環境變量生效

source /root/.bash_profile

13.重新連接mysql驗證

mysql -uroot -p

除了上述安裝方式以外,可能在公司中會遇到安裝指定版本的需求,那麼如何安裝指定版本的MySQL數據呢?這時我們可以採用下載指定版本安裝包進行安裝的方式,主要步驟如下,假設CentOS7 linux最小安裝,已經配置好yum。首先檢查是否安裝numactl包

rpm -qa|grep numactl

yum install numactl-libs-* # 如果沒有安裝需要安裝。檢查是否安裝libaio包

rpm -qa|grep libaio

yum install libaio-* # 如果沒有安裝需要安裝

具體安裝步驟如下:

* 禁用selinux

setenforce 0

* 上傳安裝文件到Linux

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

* 創建mysql用戶組和用戶

groupadd -g 27 -r mysql

#-r創建系統賬戶,-M 不創建用戶家目錄 -N 不創建和用戶名一樣的用戶組

useradd -M -N -g mysql -r -s /bin/false -c “MySQL Server” -u 27 mysql

id mysql

* 上傳安裝包到root家目錄

* 解壓二進制文件到/usr/local

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local

* 解壓目錄改名為mysql

cd /usr/local

ls -l

mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql

* 環境變量中添加mysql/bin目錄

vi /root/.bash_profile

修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin

添加 export MYSQL_PS1=”\u@\h[\d]”

source /root/.bash_profile

* 創建/usr/local/mysql/etc/my.cnf選項文件 (也可以使用默認的/etc/my.cnf選項文件)

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/mysql-files

* 編輯選項文件my.cnf填寫默認選項

vi /usr/local/mysql/etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

log-error=/usr/local/mysql/data/mysqld.err

pid-file=/usr/local/mysql/data/mysqld.pid

secure_file_priv=/usr/local/mysql/mysql-files

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

Explicit-defaults-for-timestamp

character-set-server=utf8

[mysql]

socket=/usr/local/mysql/data/mysql.sock

* 初始化數據目錄

cd /usr/local/mysql

mkdir data

chmod 750 data

chown mysql:mysql data

* 初始化數據庫

cd /usr/local/mysql

bin/mysqld –defaults-file=/usr/local/mysql/etc/my.cnf –initialize

* 使用systemd管理mysql

例如:systemctl {start|stop|restart|status} mysqld

cd /usr/lib/systemd/system

touch mysqld.service

chmod 644 mysqld.service

vi mysqld.service

# 添加以下內容

[Unit]

Description=MySQL Server

Documentation=man:mysqld(7)

Documentation=

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

Type=forking

PIDFile=/usr/local/mysql/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.

TimeoutSec=0

# Start main service

ExecStart=/usr/local/mysql/bin/mysqld –defaults-file=/usr/local/mysql/etc/my.cnf –daemonize –pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS

# Use this to switch malloc implementation

EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit

LimitNOFILE = 65535

Restart=on-failure

RestartPreventExitStatus=1

PrivateTmp=false

以上內容中注意:The –pid-file option specified in the my.cnf configuration file is ignored by systemd.

默認:LimitNOFILE = 5000,如果連接數(max_connection)需要調大,可以將LimitNOFILE 設置為最大65535

* 創建mysql.conf文件

cd /usr/lib/tmpfiles.d

#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.

cd /usr/lib/tmpfiles.d

touch mysql.conf

chmod 644 mysql.conf

* mysql.conf添加內容

vi mysql.conf

添加以下語句:

d /usr/local/mysql/data 0750 mysql mysql –

* 使新添加的mysqld服務開機啟動

systemctl enable mysqld.service

* 手動啟動mysqld

systemctl start mysqld

systemctl status mysqld

* 獲得mysql臨時登錄密碼

cat /usr/local/mysql/data/mysqld.err | grep “temporary password”

* 客戶端登錄連接mysql服務器

mysql -uroot -p

輸入臨時密碼

* 修改MySQL用戶root@localhost密碼

mysql alter user root@localhost identified by ”; #此處為了方便設置為空密碼

* 測試新密碼連接MySQL服務

mysql -uroot -p

至此,我們就完成了在Linux環境下安裝MySQL的任務。通過這兩種方式我們可以體會到在Linux環境下安裝軟件的基本思路及方法。

linux上怎麼部署mysql

我這是centos系統,ubantu不適用!!!

我這是centos系統,ubantu不適用!!!

我這是centos系統,ubantu不適用!!!

點擊右下角展開,否則沒有自動換行!!!!

點擊右下角展開,否則沒有自動換行!!!!

點擊右下角展開,否則沒有自動換行!!!!

重要的事情說三遍

練習用的話直接yum -y install mysql mysql-server

也可以使用源碼安裝

先把rpm格式的mysql刪除,否則初始化失敗rpm -e mysql-server mysql –nodeps //忽略依賴關係刪除

yum -y install ncurses-devel //安裝依賴包

tar xf cmake-2.8.12.tar.gz -C /usr/src/ //mysql需要cmake支持

cd /usr/src/cmake-2.8.12/ //進入解壓路徑

./configure gmake gmake install //安裝cmake

groupadd mysql //創建mysql組

useradd -M -s /sbin/nologin -g mysql mysql //創建mysql用戶,並加入mysql組裡

tar xf mysql-5.7.2-m12.tar.gz -C /usr/src/ //解壓mysqlcd /usr/src/mysql-5.7.2-m12/ //進入解壓路徑

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc make make install //安裝選項

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //主程序安裝目錄

-DDEFAULT_CHARSET=utf8 //默認字符集為 utf8

-DDEFAULT_COLLATION=utf8_general_ci //默認的字符集校對規則

-DWITH_EXTRA_CHARSETS=all //安裝所有字符集

-DSYSCONFDIR=/etc //配置文件存放目錄

make make install //開始make

優化步驟

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

echo “PATH=$PATH:/usr/local/mysql/bin” /etc/profile

. /etc/profile //注意「.」後面有空格

chown -R mysql:mysql /usr/local/mysql/

/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data –user=mysql //初始化

–basedir=/usr/local/mysql/ //指定安裝目錄(產品目錄)

–datadir=/usr/local/mysql/data //指定數據目錄

–user=mysql //指定用戶身份

service mysqld start

Starting MySQL………….. [確定]

mysqladmin -u root password ‘123456’ //設置成自己的密碼

我是5.7的版本有可能一定幾率啟動時報錯,看下mysql的配置文件,裏面的mysql.sock文件找不到,解決方法如下:

find / -name mysql.sock

找到後複製這個路徑

vim /etc/my.cnf

找到sock=/data/sock這一行,把後面的路徑改成剛才找到的路徑然後重啟mysql即可。

如果還報錯就告訴我

linux 怎麼部署mysql數據庫

創建用於執行mysql服務程序的帳號:

[root@linuxprobe cmake-2.8.11.2]# cd ..

[root@linuxprobe src]# useradd mysql -s /sbin/nologin

創建數據庫程序和文件的目錄,並設置目錄的所屬與所組:

[root@linuxprobe src]# mkdir -p /usr/local/mysql/var

[root@linuxprobe src]# chown -Rf mysql:mysql /usr/local/mysql

安裝Mysql服務程序(解壓與編譯過程已省略):

[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz

[root@linuxprobe src]# cd mysql-5.6.19/

[root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

[root@linuxprobe mysql-5.6.19]# make

[root@linuxprobe mysql-5.6.19]# make install

刪除系統默認的配置文件:

[root@linuxprobe mysql-5.6.19]# rm -rf /etc/my.cnf

生成系統數據庫(生成信息已省略):

[root@linuxprobe mysql-5.6.19]# cd /usr/local/mysql

[root@linuxprobe mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/var

創建配置文件的軟連接文件:

[root@linuxprobe mysql]# ln -s my.cnf /etc/my.cnf

將mysqld服務程序添加到開機啟動項:

[root@linuxprobe mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@linuxprobe mysql]# chmod 755 /etc/init.d/mysqld

[root@linuxprobe mysql]# chkconfig mysqld on

編輯啟動項的配置文件:

[root@linuxprobe mysql]# vim /etc/rc.d/init.d/mysqld

//分別修改第46與47行,basedir為程序安裝路徑,datadir為數據庫存放目錄。

basedir=/usr/local/mysql

datadir=/usr/local/mysql/var

重啟mysqld服務程序:

[root@localhost mysql]# service mysqld start

Starting MySQL. SUCCESS!

把mysql服務程序命令目錄添加到環境變量中(永久生效):

[root@linuxprobe mysql]# vim /etc/profile

//在配置文件的最下面追加:

export PATH=$PATH:/usr/local/mysql/bin

[root@linuxprobe mysql]# source /etc/profile

將mysqld服務程序的庫文件鏈接到默認的位置:

[root@linuxprobe mysql]# mkdir /var/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

[root@linuxprobe mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

初始化mysqld服務程序:

[root@linuxprobe mysql]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current

password for the root user. If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] y

New password: 輸入要為root用戶設置的數據庫密碼。

Re-enter new password: 重複再輸入一次密碼。

Password updated successfully!

Reloading privilege tables..

… Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y(刪除匿名帳號)

… Success!

Normally, root should only be allowed to connect from ‘localhost’. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y(禁止root用戶從遠程登陸)

… Success!

By default, MySQL comes with a database named ‘test’ that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y(刪除test數據庫並取消對其的訪問權限)

– Dropping test database…

… Success!

– Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y(刷新授權表,讓初始化後的設定立即生效)

… Success!

All done! If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

Cleaning up…

可以百度搜索Linux就該這麼學,第9章 使用Apache服務部署靜態網站,裏面有部署mysql的資料

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253908.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:19
下一篇 2024-12-14 02:19

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python實現身份信息模擬生成與查驗

    本文將從以下幾個方面對Python實現身份信息模擬生成與查驗進行詳細闡述: 一、身份信息生成 身份信息生成是指通過代碼生成符合身份信息規範的虛假數據。Python中,我們可以使用f…

    編程 2025-04-27

發表回復

登錄後才能評論