部署WEB項目到服務器(三)安裝mysql5或者mysql8到linux服務器(Ubuntu)詳解


突發奇想,想在自己電腦上部署一個web網站。

1,首先是下載一個適合自己已安裝服務器版本的mysql數據庫。

這里使用網上的鏈接http://dev.mysql.com/downloads/mysql/5.6.html#downloads

或者使用代理網站上下載:https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13.tar.gz(過期)

【https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.17-el7-x86_64.tar 安裝mysql8見最下面

或者:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-i686.tar.gz

下載完成后使用FIleZille上傳到服務器的/opt目錄

2,創建目錄 然后解壓縮 最后創建軟鏈接

   cd /usr/local

   mkdir mysql

   tar -zxvf mysql-advanced-5.6.14-linux-glibc2.5-i686.tar.gz

   ln -s mysql-advanced-5.6.14-linux-glibc2.5-i686 mysql

3,添加用戶和組

   groupadd mysql

   useradd -g mysql mysql 

4,安裝mysql

  首先在mysql目錄下新建數據存放目錄:

   mkdir data  

    mkdir mysql

  再改變組: chown -R mysql:mysql ./mysql

  安裝:/usr/local/mysql/mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

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

            chmod 755 /etc/init.d/mysqld

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

ps: 在安裝第一步時可能會遇到不能安裝的問題:libaio.so.1: cannot open shared object file

  網上給出了很多解決辦法(12),我嘗試了一個,很有用:sudo apt-get install libaio1 

5,修改啟動腳本

  vi /etc/init.d/mysqld

       basedir=/usr/local/mysql/

  datadir=/usr/local/mysql/data/mysql

6,加入環境變量這樣在任何地方都可以使用mysql命令了

  vi /etc/profile

  在PATH變量后面添加   :/usr/local/tomcat/server/bin

  

      重啟服務器。

7,啟動mysql,登錄mysql ,查看mysql狀態,關閉mysql

     service mysqld start

     mysql -uroot -p

     service mysqld status

     service mysqld stop

 

 ps:

安裝完成后第一次登錄推薦使用 mysql 命令,因為第一次沒有密碼,所以我們要設置。

在啟動mysql數據庫的情況下:

使用mysql命令進入mysql命令行

use mysql;

update user set password=passworD("xroot") where user='root';

flush privileges;

exit;

 我這里因為改過密碼了所以使用了密碼方式進入:mysql -uroot -p

推薦幾個可能會用到的網址:

Linux下修改Mysql的用戶(root)的密碼
linux mysql 操作命令
mysql在linux下的安裝
linux下安裝Mysql

 

至此mysql數據安裝成功。 

 

 

 

安裝mysql8

1.進官網,選擇適合自己版本的linux下的MYSQL版本。(下載見上面的連接

2.將其下載好的mysql-8.0.15-el7-x86_64.tar.gz 上傳至linux系統中進行解壓 。
(1)本人將這個文件上傳至/root/ 目錄下,首先查看 /root/目錄下的文件。以確保系統中有這個文件。
cd /root/ ls

(2)將文件進行解壓。
tar -zxvf mysql-8.0.15-el7-x86_64.tar.gz
然后會在當前 /root/ 目錄下會生成 這個目錄。

3.對mysql進行安裝。
(1)將mysql-8.0.15-el7-x86_64 安裝到 /usr/local/mysql 下。
mv mysql-8.0.15-el7-x86_64 /usr/local/mysql //將文件移動到 /usr/local/ 目錄下,並更名為mysql

(2)為系統添加mysql 組和用戶。

groupadd mysql
useradd -u 544 -d /home/mysql -g mysql -m  mysql


(3)進入 /usr/local/mysql 目錄下,修改相關權限。
cd /usr/local/mysql //進入/usr/local/mysql 目錄 chown -R mysql:mysql ./
//修改當前目錄為mysql用戶
(4)mysql初始化操作,記錄下臨時密碼,之后第一次登錄的時候會用到。

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //運行完成會生成一個暫時的密碼。


結果如下

(5)查看初始化過程中有沒有自動生成my.cnf 文件.
cd /etc/ //進入/etc/目錄下 ls | grep my.cnf //查看是否有my.cnf 文件。有則會產生結果。
(6) 初始化生成了my.cnf 文件,跳至第八步,修改my.cnf 文件的信息。

(7) 如果初始化過程中沒有生成my.cnf , 新建一個my-defalut.cnf文件,將其復制到/etc/my.cnf
touch my-defalut.cnf //新建一個文件 chmod 755 my-defalut.cnf // 賦予權限 cp
my-defalut.cnf /etc/my.cnf // 將文件復制到/etc/ 目錄下,並更名為my.cnf 文件名。
(8)my.cnf 的信息如下

[mysqld]
basedir=/u01/applications/mysql-8.0.17-el7-x86_64/
datadir=/u01/applications/mysql-8.0.17-el7-x86_64/data
port=3306
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-grant-tables
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/u01/applications/mysql-8.0.17-el7-x86_64/data/vlearn.log
pid-file=/u01/applications/mysql-8.0.17-el7-x86_64/data/vlearn.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/$hostname.pid //注意了,小細節,這里的 $hostname
是linux的主機名。一般每個人主機名都是不一樣的。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

其中/tmp/mysql.sock這個文件,但是在/tmp/目錄下沒有找到此文件:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(9)為mysql配置環境變量。
vim /etc/profile // 打開profile文件。

export MYSQL_HOME

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

環境變量最好加在用戶的/home/mysql/.bash_profile下。

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

 

(10) 設置為開機自啟動項。
依次執行一下代碼。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
chmod +x /etc/init.d/mysql //添加可執行權限。
chkconfig --add mysql // 注冊啟動服務
輸入chkconfig --list //查看是否添加成功。

表示成功。
(11)開啟服務器,登錄進入mysql。
service mysql start //開啟服務器。 mysql -uroot -p //登錄進入mysql,然后提示輸入密碼。

輸入初始化過程中生成的臨時密碼,然后回車就行。進入一下頁面。

到此,說明已經安裝成功了。
(12)進入mysql后,修改密碼。不然你什么也做不了。

alter user 'root'@'localhost' identified by 'your_password';

然后 exit; 退出,重新進入,進行測試。
show databases;

到此,關於安裝mysql 8.0.15版本的全部過程就已經結束了!

(13)

可以設置 /etc/my.cnf在[mysqld]后面添加skip-grant-tables,重啟服務后 使用下述方法改密碼;

update user set authentication_string='' where user='root';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

 

 

 

參考:

Centos7下安裝mysql8.0.15完整詳細教程

解決ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

linux中mysql忘記root密碼如何登陸

MySQL 8忘記密碼的最佳處理方式淺析

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM