MySQL多版本單例項安裝
MySQL單例項安裝
本文使用的系統是CentOS7,資料庫版本是MySQL5.7,使用二進位制安裝方式安裝
注意:這裡僅僅是簡單的安裝,不代表生產
1 安裝前準備
建立系統MySQL使用者
[root@mysql ~]# useradd mysql
建立軟體目錄並修改目錄歸屬
[root@mysql ~]# mkdir -p /app/
下載MySQL5.7安裝包,並將MySQL5.7的安裝包上傳至軟體目錄下
[root@mysql ~]# cd /app/ [root@mysql tmp]# ll -rw-r--r--. 1 root root 724672294 Jul 12 17:16 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
初始化原環境,清理系統自帶的資料庫相關資訊
[root@mysql tmp]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysql tmp]# yum remove -y mariadb-libs-5.5.60-1.el7_5.x86_64
解壓MySQL壓縮包
[root@mysql app]# tar -vxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz [root@mysql app]# ll drwxr-xr-x. 9 root root 129 Jul 12 18:03 mysql-5.7.28-linux-glibc2.12-x86_64 -rw-r--r--. 1 root root 724672294 Jul 12 17:16 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
將解壓出來的檔案重新命名為mysql
[root@mysql app]# mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql
[root@mysql app]# ll
drwxr-xr-x. 9 root root 129 Jul 12 18:03 mysql
檢視mysql目錄下的檔案
[root@mysql mysql]# ll total 292 drwxr-xr-x. 2 root root 4096 Jul 12 18:03 bin drwxr-xr-x. 2 root root 55 Jul 12 18:03 docs drwxr-xr-x. 3 root root 4096 Jul 12 18:03 include drwxr-xr-x. 5 root root 230 Jul 12 18:03 lib -rw-r--r--. 1 7161 31415 279547 Sep 27 2019 LICENSE drwxr-xr-x. 4 root root 30 Jul 12 18:03 man -rw-r--r--. 1 7161 31415 587 Sep 27 2019 README drwxr-xr-x. 28 root root 4096 Jul 12 18:03 share drwxr-xr-x. 2 root root 90 Jul 12 18:03 support-files
設定環境變數
[root@mysql mysql]# vi /etc/profile
#再最後新增上下面的MySQL的bin路徑資訊
export PATH=/app/mysql/bin:$PATH
#重新生效以下環境變數
[root@db01 ~]# source /etc/profile
建立資料庫目錄,該資料目錄是指定到容量更大的掛載盤上,這裡代指就好
[root@mysql /]# mkdir -p /data
設定軟體資料目錄的使用者和歸屬
[root@mysql /]# chown -R mysql:mysql /app/*
[root@mysql /]# chown -R mysql:mysql /data
新增最簡單的配置檔案
[root@mysql /]# vi /etc/my.cnf
#在配置檔案中新增下面的內容
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
log_error=mysql.err
character-set-server=utf8mb4
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\\d]>
搭建yum 倉庫安裝依賴包,MySQL依賴於該libaio庫
[root@mysql /]# df -h
[root@mysql /]# mount /dev/cdrom /mnt
[root@mysql /]# cd /etc/yum.repos.d/
[root@mysql /]# mkdir bak
#先將其他的yum的repo源,使用本地映象源,備份到bak目錄中
[root@mysql /]# mv * bak/
[root@mysql /]# vi local.repo
#新增下面的內容到local.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enable=1
[root@mysql /]# yum -y install libaio
[root@mysql /]# yum-y install autoconf
2. 初始化資料
在MySQL5.7中初始化資料有兩種方式。
方法一:初始化資料時資料庫管理員帶有臨時密碼,在初始化過程中會打印出不來或者在錯誤日誌中會有,初始化完成之後進入資料庫需要修改臨時密碼。
方法二:初始化資料時資料庫管理員帶沒有臨時密碼,,初始化完成之後在新增密碼。
兩種方式選擇哪種都可以,最後都要修改或新增上密碼,下面兩種方式都演示一遍
2.1方法一
初始化資料時管理員帶有臨時密碼的方式
[root@mysql /]# mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/
2021-07-12T10:53:20.559245Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-07-12T10:53:20.764472Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-07-12T10:53:20.796536Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-07-12T10:53:20.873502Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5f52d8c0-e2ff-11eb-bc1a-000c291b2f55.
2021-07-12T10:53:20.879004Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-07-12T10:53:21.640454Z 0 [Warning] CA certificate ca.pem is self signed.
2021-07-12T10:53:21.837827Z 1 [Note] A temporary password is generated for root@localhost: ;seGyKj6hW.Q
由上面的初始化結果可以看到臨時密碼為:;seGyKj6hW.Q
也可以在錯誤日誌(mysql.err )中檢視
[root@mysql data]# tail -100f mysql.err
2021-07-12T10:53:20.559245Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-07-12T10:53:20.764472Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-07-12T10:53:20.796536Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-07-12T10:53:20.873502Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5f52d8c0-e2ff-11eb-bc1a-000c291b2f55.
2021-07-12T10:53:20.879004Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-07-12T10:53:21.640454Z 0 [Warning] CA certificate ca.pem is self signed.
2021-07-12T10:53:21.837827Z 1 [Note] A temporary password is generated for root@localhost: ;seGyKj6hW.Q
檢視資料目錄下的檔案
[root@mysql /]# cd /data/
[root@mysql data]# ll
total 110664
-rw-r-----. 1 mysql mysql 56 Jul 12 18:53 auto.cnf
-rw-------. 1 mysql mysql 1680 Jul 12 18:53 ca-key.pem
-rw-r--r--. 1 mysql mysql 1112 Jul 12 18:53 ca.pem
-rw-r--r--. 1 mysql mysql 1112 Jul 12 18:53 client-cert.pem
-rw-------. 1 mysql mysql 1676 Jul 12 18:53 client-key.pem
-rw-r-----. 1 mysql mysql 425 Jul 12 18:53 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Jul 12 18:53 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Jul 12 18:53 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Jul 12 18:53 ib_logfile1
drwxr-x---. 2 mysql mysql 4096 Jul 12 18:53 mysql
-rw-r-----. 1 mysql mysql 880 Jul 12 18:53 mysql.err
drwxr-x---. 2 mysql mysql 8192 Jul 12 18:53 performance_schema
-rw-------. 1 mysql mysql 1676 Jul 12 18:53 private_key.pem
-rw-r--r--. 1 mysql mysql 452 Jul 12 18:53 public_key.pem
-rw-r--r--. 1 mysql mysql 1112 Jul 12 18:53 server-cert.pem
-rw-------. 1 mysql mysql 1676 Jul 12 18:53 server-key.pem
drwxr-x---. 2 mysql mysql 8192 Jul 12 18:53 sys
2.2方法二
資料庫管理員無密碼的初始化方式,需要多新增insecure這引數
因為剛才使用了方式一初始化了資料,在/data目錄下已經有了資料檔案,要是再執行方法二的初始化方式就會報錯如下:
[root@mysql data]# mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/
2021-07-12T11:14:37.190310Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-07-12T11:14:37.192437Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2021-07-12T11:14:37.192471Z 0 [ERROR] Aborting
從報錯的結果知道在資料檔案中已經有檔案,不能初始化,說明在初始化的時候資料目錄必須為空。
解決該問題就是將該目錄下的所有檔案全部刪除,在初始化即可
[root@mysql /]# cd /data/
[root@mysql data]# rm -rf *
[root@mysql data]# ll
total 0
[root@mysql data]# mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/
2021-07-12T11:18:56.695116Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-07-12T11:18:56.854748Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-07-12T11:18:56.878756Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-07-12T11:18:56.884786Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: f2db9180-e302-11eb-a233-000c291b2f55.
2021-07-12T11:18:56.885432Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-07-12T11:18:57.576987Z 0 [Warning] CA certificate ca.pem is self signed.
2021-07-12T11:18:57.787198Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
初始化資料完成
3.配置啟動指令碼
MySQL啟動指令碼是mysql.server,該啟動指令碼的啟動方式也可以有兩種
方法一:直接使用mysql.server啟動
方式二:使用作業系統命令啟動
以上的兩種方法都是使用mysql.server指令碼啟動
3.1方法一
每次啟動要切換目錄,也可以寫進環境變數,但一般不使用這種方式
[root@mysql support-files]# cd /app/mysql/support-files
[root@mysql support-files]# ./mysql.server start
Starting MySQL. SUCCESS!
3.2方法二
使用作業系統命令,可以是使用linux6或linux7新加的啟動方式
Linux6啟動方式
[root@mysql ~]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
#啟動
/etc/init.d/mysqld start
#停止
/etc/init.d/mysqld stop
#重啟
/etc/init.d/mysqld restart
這種方式在Linux7也是通用的
Linux7新加的systemd管理MySQL
[root@mysql ~]# vi /etc/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 = 5000
[root@mysql ~]# systemctl start mysqld
#啟動
systemctl start mysqld
#停止
systemctl stop mysqld
#重啟
systemctl restart mysqld
#檢視狀態
[root@mysql ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active ('running') since Mon 2021-07-12 19:59:26 CST; 6s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 25325 (mysqld)
CGroup: /system.slice/mysqld.service
└─25325 /app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Jul 12 19:59:26 mysql systemd[1]: Started MySQL Server.
4.修改管理員密碼
剛初始化完成,需要進入到資料庫庫中修改密碼
3306 [(none)]> alter user root@'localhost' identified by '123';
或者使用mysqladmin工具修改
[root@mysql ~]# mysqladmin -uroot -p password 123
5.忘記密碼處理
需要到以下的兩個引數
--skip-grant-tables #跳過授權表
--skip-networking #跳過遠端登入
關閉資料庫
[root@mysql ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
啟動資料庫到維護模式
[root@mysql ~]# mysqld_safe --skip-grant-tables --skip-networking &
[1] 8355
[root@mysql ~]# 2021-07-13T15:27:28.121189Z mysqld_safe Logging to '/data/mysql.err'.
2021-07-13T15:27:28.144072Z mysqld_safe Starting mysqld daemon with databases from /data
在開啟另一個會話,不需要密碼就可以登入了
[root@mysql ~]# mysql -uroot -p
Enter password:
#不能直接該,因為在啟動時已經跳過密碼錶,就是不將密碼錶加入到記憶體中
3306 [(none)]>alter user root@'localhost' identified by '1';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
#重新整理許可權,就是將密碼錶載入到記憶體中
3306 [(none)]> flush privileges;
3306 [(none)]>alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.00 sec)
關閉資料庫,正常啟動驗證
[root@mysql ~]# mysql -uroot -p1
3306 [(none)]>exi
其他版本安裝
以下基於官網的MySQL5.6,5.7,8.0三種版本安裝演示
1.MySQL5.6安裝
新增使用者和組,要是已經存在可以不建立
[root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -r -g mysql mysql
將軟體上傳到/app目錄下
[root@mysql ~]# cd /app/
[root@mysql app]# ll
-rw-r--r--. 1 mysql mysql 341523632 Jul 12 17:16 mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz
將MySQL5.6的安裝包解壓到/usr/local目錄下
[root@mysql ~]# cd /usr/local/
[root@mysql local]# tar zxvf /app/mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz
[root@mysql local]# ll
drwxr-xr-x. 13 root root 191 Jul 14 00:24 mysql-5.6.50-linux-glibc2.12-x86_64
搭建一條軟連線到mysql
[root@mysql local]# ln -s /usr/local/mysql-5.6.50-linux-glibc2.12-x86_64/ mysql
[root@mysql local]# ll
lrwxrwxrwx. 1 root root 47 Jul 14 00:32 mysql -> /usr/local/mysql-5.6.50-linux-glibc2.12-x86_64/
設定環境變數
[root@mysql mysql]# vi /etc/profile
#再最後新增上下面的MySQL的bin路徑資訊
export PATH=/usr/local/mysql/bin:$PATH
#重新生效以下環境變數
[root@db01 ~]# source /etc/profile
設定歸屬,使用軟連結的無法授權給目錄,需要到目錄中去授權
[root@mysql local]# cd mysql
[root@mysql mysql]# chown mysql:mysql *
[root@mysql mysql]# ll
total 224
drwxr-xr-x. 2 mysql mysql 4096 Jul 14 00:24 bin
drwxr-xr-x. 3 mysql mysql 18 Jul 14 00:24 data
drwxr-xr-x. 2 mysql mysql 55 Jul 14 00:24 docs
drwxr-xr-x. 3 mysql mysql 4096 Jul 14 00:24 include
drwxr-xr-x. 3 mysql mysql 4096 Jul 14 00:24 lib
-rw-r--r--. 1 mysql mysql 198041 Sep 23 2020 LICENSE
drwxr-xr-x. 4 mysql mysql 30 Jul 14 00:24 man
drwxr-xr-x. 10 mysql mysql 4096 Jul 14 00:24 mysql-test
-rw-r--r--. 1 mysql mysql 587 Sep 23 2020 README
drwxr-xr-x. 2 mysql mysql 30 Jul 14 00:24 scripts
drwxr-xr-x. 28 mysql mysql 4096 Jul 14 00:24 share
drwxr-xr-x. 4 mysql mysql 4096 Jul 14 00:24 sql-bench
drwxr-xr-x. 2 mysql mysql 136 Jul 14 00:24 support-files
建立資料目錄,並授權
[root@mysql /]# mkdir -p /data56
[root@mysql /]# chown mysql:mysql data56/
準備配置檔案
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data56/
server_id=56
port=3356
socket=/tmp/mysql56.sock
log_error=mysql.err
character-set-server=utf8mb4
[mysql]
socket=/tmp/mysql.sock
prompt=3356 [\\d]>
初始化資料
[root@mysql /]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data56 --basedir=/usr/local/mysql
拷貝啟動指令碼到/etc/init.d下
[root@mysql /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld56
啟動MySQL
[root@mysql /]# /etc/init.d/mysqld56 start
初始化完成後因為還沒設定有root密碼,需要馬上設定
[root@mysql tmp]# mysqladmin -uroot -p -S /tmp/mysql56.sock password 123
Enter password: #回車
Warning: Using a password on the command line interface can be insecure.
[root@mysql tmp]# mysql -uroot -p123 -S /tmp/mysql56.sock
3356 [(none)]>
如有解除軟連線的可以使用下面對命令,沒事就別做這個,這個rm差不多
[root@mysql local]# unlink mysql
2.MySQL5.7安裝
新增使用者和組,要是已經存在可以不建立
[root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -r -g mysql mysql
將軟體上傳到/app目錄下
[root@mysql ~]# cd /app/
[root@mysql app]# ll
-rw-r--r--. 1 mysql mysql 724672294 Jul 12 17:16 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
將MySQL5.7的安裝包解壓到/usr/local目錄下
[root@mysql ~]# cd /usr/local/
[root@mysql local]# tar zxvf /app/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@mysql local]# ll
drwxr-xr-x. 13 root root 191 Jul 14 00:24 mysql-5.7.28-linux-glibc2.12-x86_64
搭建一條軟連線到mysql
[root@mysql local]# ln -s /usr/local/mysql-5.7.28-linux-glibc2.12-x86_64/ mysql
[root@mysql local]# ll
lrwxrwxrwx. 1 root root 47 Jul 14 00:32 mysql -> /usr/local/mysql-5.6.50-linux-glibc2.12-x86_64/
設定環境變數
[root@mysql mysql]# vi /etc/profile
#再最後新增上下面的MySQL的bin路徑資訊
export PATH=/usr/local/mysql/bin:$PATH
#重新生效以下環境變數
[root@db01 ~]# source /etc/profile
設定歸屬,使用軟連結的無法授權給目錄,需要到目錄中去授權
[root@mysql local]# cd mysql
[root@mysql mysql]# chown mysql:mysql *
[root@mysql mysql]# ll
total 292
drwxr-xr-x. 2 mysql mysql 4096 Jul 14 05:49 bin
drwxr-xr-x. 2 mysql mysql 55 Jul 14 05:49 docs
drwxr-xr-x. 3 mysql mysql 4096 Jul 14 05:49 include
drwxr-xr-x. 5 mysql mysql 230 Jul 14 05:49 lib
-rw-r--r--. 1 mysql mysql 279547 Sep 27 2019 LICENSE
drwxr-xr-x. 4 mysql mysql 30 Jul 14 05:49 man
-rw-r--r--. 1 mysql mysql 587 Sep 27 2019 README
drwxr-xr-x. 28 mysql mysql 4096 Jul 14 05:49 share
drwxr-xr-x. 2 mysql mysql 90 Jul 14 05:49 support-files
建立資料目錄,並授權
[root@mysql /]# mkdir -p /data57
[root@mysql /]# chown mysql:mysql /data57/
準備配置檔案
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data57/
server_id=57
port=3357
socket=/tmp/mysql57.sock
log_error=mysql.err
character-set-server=utf8mb4
[mysql]
socket=/tmp/mysql.sock
prompt=3357 [\\d]>
初始化資料
[root@mysql /]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data57/
拷貝啟動指令碼到/etc/init.d下
[root@mysql /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld57
啟動MySQL
[root@mysql /]# /etc/init.d/mysqld57 start
初始化完成後因為還沒設定有root密碼,需要馬上設定
[root@mysql tmp]# mysqladmin -uroot -p -S /tmp/mysql57.sock password 123
Enter password: #回車
Warning: Using a password on the command line interface can be insecure.
[root@mysql tmp]# mysql -uroot -p123 -S /tmp/mysql57.sock
3357 [(none)]>
如有解除軟連線的可以使用下面對命令,沒事就別做這個,這個rm差不多
[root@mysql local]# unlink mysql
3.MySQL8.0安裝
新增使用者和組,要是已經存在可以不建立
[root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -r -g mysql mysql
將軟體上傳到/app目錄下
[root@mysql ~]# cd /app/
[root@mysql app]# ll
-rw-r--r--. 1 mysql mysql 859071704 Jul 12 17:16 mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
將MySQL5.6的安裝包解壓到/usr/local目錄下
[root@mysql local]# tar -Jxf /app/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
[root@mysql local]# ll
drwxr-xr-x. 13 root root 191 Jul 14 00:24 mysql-8.0.22-linux-glibc2.12-x86_64
搭建一條軟連線到mysql
[root@mysql local]# ln -s /usr/local/mysql-8.0.22-linux-glibc2.12-x86_64/ mysql
[root@mysql local]# ll
lrwxrwxrwx. 1 root root 47 Jul 14 00:32 mysql -> /usr/local/mysql-8.0.22-linux-glibc2.12-x86_64/
設定環境變數
[root@mysql mysql]# vi /etc/profile
#再最後新增上下面的MySQL的bin路徑資訊
export PATH=/usr/local/mysql/bin:$PATH
#重新生效以下環境變數
[root@db01 ~]# source /etc/profile
設定歸屬,使用軟連結的無法授權給目錄,需要到目錄中去授權
[root@mysql local]# cd mysql
[root@mysql mysql]# chown mysql:mysql *
[root@mysql mysql]# ll
total 384
drwx------. 2 mysql mysql 4096 Sep 23 2020 bin
drwx------. 2 mysql mysql 55 Sep 23 2020 docs
drwx------. 3 mysql mysql 282 Sep 23 2020 include
drwx------. 6 mysql mysql 201 Sep 23 2020 lib
-rw-r--r--. 1 mysql mysql 378912 Sep 23 2020 LICENSE
drwx------. 4 mysql mysql 30 Sep 23 2020 man
-rw-r--r--. 1 mysql mysql 687 Sep 23 2020 README
drwx------. 28 mysql mysql 4096 Sep 23 2020 share
drwx------. 2 mysql mysql 77 Sep 23 2020 support-files
建立資料目錄,並授權
[root@mysql /]# mkdir -p /data80
[root@mysql /]# chown mysql:mysql /data80/
準備配置檔案
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data80/
server_id=80
port=3380
socket=/tmp/mysql80.sock
log_error=mysql80.err
character-set-server=utf8mb4
[mysql]
socket=/tmp/mysql.sock
prompt=3380 [\\d]>
初始化資料
[root@mysql /]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data80/
拷貝啟動指令碼到/etc/init.d下
[root@mysql /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld80
啟動MySQL
[root@mysql /]# /etc/init.d/mysqld80 start
初始化完成後因為還沒設定有root密碼,需要馬上設定
[root@mysql tmp]# mysqladmin -uroot -p -S /tmp/mysql80.sock password 123
Enter password: #回車
Warning: Using a password on the command line interface can be insecure.
[root@mysql tmp]# mysql -uroot -p123 -S /tmp/mysql80.sock
3380 [(none)]>
如有解除軟連線的可以使用下面對命令,沒事就別做這個,這個rm差不多
[root@mysql local]# unlink mysql