首頁>技術>

mysql安裝方式有哪些?

mysql的安裝方式有很多種,比如:yum安裝,rpm安裝等等,不過生產中常用的有兩種:

1、cmake編譯安裝

2、二進位制安裝

本文主要講解二進位制安裝,一是二進位制安裝方便,二是它是很多資料庫DBA喜歡採用的方式。

安裝版本選擇

mysql安裝,我們這裡選擇最新的mysql5.7.28社群版

下來我們去官網下載最新的mysql5.7.28社群版,開啟mysql官網地址

https://www.mysql.com/downloads/

開啟mysql官網地址

選擇mysql community server

mysql目前最新版本是mysql8.0,因為Mysql5.7還是主流,我們這裡選擇最新的mysql5.7.28

選擇mysql5.7

選擇二進位制,64位的tar壓縮包進行下載

下載上圖選擇的壓縮包下載

下載完成後把壓縮包上傳到linux伺服器上,可以採用rz或者winscp,把二進位制包上傳到伺服器指定的目錄,我的賬號是:wyboxl,所以我上傳到了/home/wyboxl/tools目錄下

檢視上傳情況

ls -al /home/wyboxl/tools

drwxr-xr-x 2 root root 107 Sep 26 05:32 .

drwx------. 16 wyboxl wyboxl 4096 Sep 22 15:35 ..

-rw-r--r-- 1 root root 644916075 Sep 23 23:20 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

當前的Linux系統版本環境情況如下:

[root@web02 ~]# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

[root@web02 ~]# uname -r

3.10.0-957.27.2.el7.x86_64

[root@web02 ~]# uname -a

Linux web02 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

主機名和ip地址的解析,寫到host檔案

我的伺服器當前ip地址是10.11.1.137,大家需要更換成自己的ip和主機名

echo "10.11.1.137 web02" >> /etc/hosts

cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.11.1.137 web02

ping web02測試

解除安裝主機自帶的mysql

rpm -qa |grep mysql

rpm -e --nodeps *mysql*

rpm -qa|grep mariadb

rpm -e --nodes mariadb*

新增使用者和組

useradd -s /sbin/nologin -M mysql

新增成功後用id命令檢視

id mysql

關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service

安裝mysql

建立應用目錄

mkdir /app

進入原始碼包上傳的目錄

cd /home/wyboxl/tools

解壓原始碼包

tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

移動解壓的原始碼包到應用目錄

mv mysql-5.7.28-linux-glibc2.12-x86_64 /app/mysql-5.7.28

建立快捷方式

ln -s /app/mysql-5.7.28/ /app/mysql

在全域性配置檔案設定環境變數

echo 'export PATH=/app/mysql/bin:$PATH' >>/etc/profile

檢視最後一條配置的資料

tail -l /etc/profile

讓新增的變數生效

source /etc/profile

檢視設定的變數生效情況

echo $PATH

which mysql

配置/etc/my.cnf配置檔案(直接粘入下面一段配置)

[mysql]

default-character-set=utf8

socket=/app/mysql/tmp/mysql.sock

[mysqld]

port = 3306

socket=/app/mysql/tmp/mysql.sock

basedir=/app/mysql

datadir=/app/mysql/data

character-set-server=utf8

default-storage-engine=INNODB

innodb_buffer_pool_size = 1000M

max_allowed_packet=16M

explicit_defaults_for_timestamp=1

log-output=FILE

general_log = 0

general_log_file=/app/mysql/log/general.err

slow_query_log = ON

slow_query_log_file=/app/mysql/log/slow-query.err

long_query_time=1

log-error=/app/mysql/log/error.err

初始化資料庫

mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/app/mysql --datadir=/app/mysql/data --user=mysql

初始化成功後可以在日誌檔案的最後一行看到初始密碼

cat /app/mysql/log/error.err

初始化成功後可以在日誌檔案的最後一行看到初始密碼

配置Centos Linux啟動和停止指令碼

vi /usr/lib/systemd/system/mysqld.service

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 65536

LimitNPROC = 65536

配置systemctl啟動和停止方法

systemctl daemon-reload

systemctl stop mysqld

systemctl start mysqld

systemctl enable mysqld

systemctl status mysqld

手要啟動和停止MySQL方法

nohup /app/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

mysqladmin -uroot -p shutdown -S /app/mysql/tmp/mysql.sock

遠端連線,需要-h指定連線地址

mysql -uroot -p -h 10.11.1.137

退出資料庫

quit

exit

找回root密碼

啟動的時候加上:--skip-grant-tables 忽略授權登入驗證

mysqld_safe --skip-grant-tables --user=mysql >/dev/null 2>&1 &

修改使用者密碼

mysql -u root -p

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

exit;

建立使用者

create USER 'wyboxl'@'%' IDENTIFIED BY 'root';

%允許遠端登陸資料庫,如果是本地登陸,設定成localhost,或者本地的ip地址

create USER 'wyboxl'@'localhost'

grant all privileges on *.* to 'wyboxl'@'%' ;

重新整理許可權

FLUSH PRIVILEGES;

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 瀏覽器事件模型