【MySQL】Linux下MySQL 5.五、5.6和5.7的RPM、二進制和源碼安裝 html
各位技術愛好者,看完本文後,你能夠掌握以下的技能,也能夠學到一些其它你所不知道的知識,~O(∩_∩)O~: node
① MySQL的二進制安裝過程(重點) mysql
② MySQL多實例管理(mysqld_multi) linux
③ MySQL的源碼編譯安裝過程 c++
④ Linux的邏輯卷的使用 web
⑤ 文件的MD5值 面試
⑥ 訪問MySQL的幾種客戶端工具(Navicat和MySQLWorkbench) sql
⑦ 修改MySQL的密碼 shell
⑧ 設置MySQL的遠程訪問 數據庫
⑨ 設置MySQL的開機啓動以及多實例的開機啓動
⑩ RPM、二進制和源碼編譯的優缺點
Tips:
① 本文在itpub(http://blog.itpub.net/26736162)、博客園(http://www.cnblogs.com/lhrbest)和微信公衆號(xiaomaimiaolhr)上有同步更新。
② 文章中用到的全部代碼、相關軟件、相關資料及本文的pdf版本都請前往小麥苗的雲盤下載,小麥苗的雲盤地址見:http://blog.itpub.net/26736162/viewspace-1624453/。
③ 若網頁文章代碼格式有錯亂,請下載pdf格式的文檔來閱讀。
④ 在本篇BLOG中,代碼輸出部分通常放在一行一列的表格中。
⑤ 本文適合於MySQL初中級人員閱讀,MySQL大師請略過本文。
⑥ 不喜勿噴。
本文若有錯誤或不完善的地方請你們多多指正,您的批評指正是我寫做的最大動力。
自從去年3月份開始寫書到如今,基本上大部份內容都寫完了。一個字,累!三個字,真心累!我也所以錯過了不少的東西,固然也收穫了不少,一切都隨緣吧。如今來講說博客吧,雖然個人博客在這段時間更新比較頻繁,可是大多內容都不是來自個人原創,基本都是整理自網絡。可能有的朋友就會罵小麥苗了,抄襲抄襲,我不反駁,由於這的確是抄襲。爲啥小麥苗要這麼作,可能基於這麼幾個緣由吧。第一,乾貨類的文章,原本原創的內容就少,網上的文章也大可能是一個抄一個的,不少內容,原創做者已經很難找到了。第二,個別文章並非很完善,若是不整理在一塊,若下次碰到相同的內容,仍是得網上再天翻地覆的搜一遍,太浪費時間了。第三,這些非原創的文章,不只僅是給網友作參考,更重要的是,小麥苗本身也參考。畢竟人的記憶力是有限的,小麥苗也常常搜索本身的文章,因此,這並不可恥。第四,有的文章寫得很好,可是裏邊有個別地方寫得不嚴謹,或者寫得有錯誤,這個時候,小麥苗整理到本身博客的時候就能夠順便修改過來。說再多,有的網友以爲,這都是藉口,好吧。抄襲就是抄襲,再多借口也改變不了抄襲的本質。小麥苗再也不多說了,只想說一句,不喜勿噴。
從今天開始,小麥苗會準備OCM和MySQL的學習。因此,今天就先把MySQL的各個版本安裝一下吧。要學習MySQL,估計5.5、5.6和5.7版本的都須要安裝。不過,相比Oracle而言,MySQL仍是更好安裝一點。
小麥苗出版的書籍:http://blog.itpub.net/26736162/viewspace-2142121/
廢話已經說了不少了,下面開始安裝吧。
在Windows下可使用NOINSTALL包和圖形化包來安裝,在Linux下可使用以下3種方式來安裝:
|
RPM(Redhat Package Manage) |
二進制(Binary Package) |
源碼(Source Package) |
優勢 |
安裝簡單,適合初學者學習使用 |
安裝簡單;能夠安裝到任何路徑下,靈活性好;一臺服務器能夠安裝多個MySQL |
在實際安裝的操做系統進行可根據須要定製編譯,最靈活;性能最好;一臺服務器能夠安裝多個MySQL |
缺點 |
須要單獨下載客戶端和服務器;安裝路徑不靈活,默認路徑不能修改,一臺服務器只能安裝一個MySQL |
已經通過編譯,性能不如源碼編譯的好;不能靈活定製編譯參數 |
安裝過程較複雜;編譯時間長 |
文件佈局 |
/usr/bin:客戶端程序和腳本 /usr/sbin:mysqld服務器 /var/lib/mysql:日誌文件,數據庫 /usr/share/doc/packages:文檔 /usr/include/mysql:包含(頭)文件 /usr/lib/mysql:庫文件 /usr/share/mysql:錯誤消息和字符集文件 /usr/share/sql-bench:基準程序 |
bin:客戶端程序和mysqld服務器 data:日誌文件,數據庫 docs:文檔,ChangeLog include:包含(頭)文件 lib:庫 scripts:mysql_install_db用來初始化系統數據庫 share/mysql:錯誤消息文件 sql-bench:基準程序 |
bin:客戶端程序和腳本 include/mysql:包含(頭)文件 info:Info格式的文檔 lib/mysql:庫文件 libexec:mysqld服務器 share/mysql:錯誤消息文件 sql-bench:基準程序和crash-me測試 var:數據庫和日誌文件 |
主要安裝過程 |
在大多數狀況下,下載MySQL-server和MySQL-client就能夠了,安裝方法以下: rpm -ivh MySQL-server* MySQL-client* |
1.添加用戶 groupadd mysql useradd -g mysql mysql 2.安裝 tar -xzvf mysql-VERSION-OS.tar.gz -C /mysql/ ln -s MySQL-VERSION-OS mysql或用mv命令 3.初始化,MySQL 5.7以後用mysqld --initialize scripts/mysql_install_db 4.啓動數據庫並修改密碼等 mysqld_safe & set password=password('lhr'); |
除了第二步的安裝過程外,其它步驟和二進制基本同樣(MySQL 5.7開始使用cmake): gunzip < mysql-VERSION.tar.gz | tar -xvf - cd mysql-VERSION ./configure --prefix=/usr/local/mysql make && make install |
安裝包下載選項 |
Red Hat Enterprise Linux / Oracle Linux |
Linux - Generic |
Source Code |
rpm的安裝方式請參考:
http://blog.itpub.net/26736162/viewspace-1349705/
http://blog.itpub.net/26736162/viewspace-1349787/
官網中相應地有以上三種方式對應的下載連接,其中源碼安裝,對應"Source Code";.tar.gz對應"Linux - Generic",.rpm則對應於"Red Hat Enterprise Linux / Oracle Linux",以下圖所示,
1.目錄大小。MySQL 5.7的二進制安裝後大約3G,因此能夠分配5G空間;而5.5和5.6版本的二進制包安裝能夠分配2G左右。
2.MySQL 5.7的源碼包須要分配10G的空間。cmake最低須要2.8.2版本。
3.下載和上傳後須要校驗md5值,防止上傳的文件不完整。
4.源碼編譯安裝比較費時費力。
在官網:http://dev.mysql.com/downloads/mysql/中,選擇如下版本的MySQL下載:
注意:MD5: dbe7e5e820377c29d8681005065e5728,下載完成後須要校驗。
感受MySQL的安裝包愈來愈大了,不過相比Oracle而言,就小的多了。小麥苗已經將安裝文件放到雲盤了,參考:http://blog.itpub.net/26736162/viewspace-1624453/ 。
注意:不要下載rpm類型的包,安裝路徑不靈活,默認路徑不能修改,一臺服務器只能MySQL安裝一個 MySQL。下圖下載後均是rpm包:
地址:https://downloads.mysql.com/archives/community/,最先版本只能看到5.0.15
在官網:http://dev.mysql.com/downloads/mysql/中,選擇如下版本的MySQL下載:
注意:MD5: dbe7e5e820377c29d8681005065e5728,下載完成後須要校驗。
咱們約定:
項目 |
source db |
db 類型 |
MySQL 5.7.19 |
db version |
5.7.19 |
db 存儲 |
Linux 文件系統 |
OS版本及kernel版本 |
RHEL 6.5 |
OS主機名 |
LHRDB |
OS IP地址 |
192.168.59.159 |
安裝文件下載目錄 |
/tmp/mysql5719 |
MySQL目錄安裝位置 |
/var/lib/mysql57/mysql5719 |
數據庫保存位置 |
/var/lib/mysql57/mysql5719/data |
日誌保存位置 |
/var/lib/mysql57/mysql5719/log |
配置文件地址 |
/etc/my.cnf |
須要注意的是,安裝文件解壓後大小大約爲2.6G,比MySQL 5.6大多了,我記得5.6版本解壓後還不到1G。因此,這裏安裝目錄給5G大小。
下面開始準備OS。使用之前就安裝好的OS,文件系統採用邏輯卷的管理方式,以下所示:
[root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.9G 4.6G 52% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 70M 2.8G 3% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home .host:/ 331G 272G 59G 83% /mnt/hgfs [root@LHRDB ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Vol00 vg_rootlhr -wi-ao---- 10.00g Vol01 vg_rootlhr -wi-ao---- 3.00g Vol02 vg_rootlhr -wi-ao---- 2.00g Vol03 vg_rootlhr -wi-ao---- 3.00g [root@LHRDB ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_rootlhr lvm2 a-- 10.00g 0 /dev/sda3 vg_rootlhr lvm2 a-- 9.80g 1.80g /dev/sdb1 lvm2 a-- 10.00g 10.00g /dev/sdb10 lvm2 a-- 10.00g 10.00g /dev/sdb11 lvm2 a-- 9.99g 9.99g /dev/sdb2 lvm2 a-- 10.00g 10.00g /dev/sdb3 lvm2 a-- 10.00g 10.00g /dev/sdb5 lvm2 a-- 10.00g 10.00g /dev/sdb6 lvm2 a-- 10.00g 10.00g /dev/sdb7 lvm2 a-- 10.00g 10.00g /dev/sdb8 lvm2 a-- 10.00g 10.00g /dev/sdb9 lvm2 a-- 10.00g 10.00g [root@LHRDB ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_rootlhr 2 4 0 wz--n- 19.80g 1.80g [root@LHRDB ~]# vgcreate vg_mysqlsoft /dev/sdb1 Volume group "vg_mysqlsoft" successfully created [root@LHRDB ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_mysqlsoft 1 0 0 wz--n- 10.00g 10.00g vg_rootlhr 2 4 0 wz--n- 19.80g 1.80g [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft Logical volume "lv_mysqlsoft_57" created [root@LHRDB ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv_mysqlsoft_57 vg_mysqlsoft -wi-a----- 5.00g Vol00 vg_rootlhr -wi-ao---- 10.00g Vol01 vg_rootlhr -wi-ao---- 3.00g Vol02 vg_rootlhr -wi-ao---- 2.00g Vol03 vg_rootlhr -wi-ao---- 3.00g [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 327680 inodes, 1310720 blocks 65536 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@LHRDB ~]# mkdir -p /tmp/mysql5719 [root@LHRDB ~]# mkdir -p /var/lib/mysql57 [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_57 /var/lib/mysql57/ [root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.9G 4.6G 52% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 680M 2.2G 24% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home .host:/ 331G 272G 59G 83% /mnt/hgfs /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 138M 4.6G 3% /var/lib/mysql57 [root@LHRDB ~]# vi /etc/fstab [root@LHRDB ~]# more /etc/fstab # /etc/fstab # Created by anaconda on Sat Jan 14 18:56:24 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_rootlhr-Vol00 / ext4 defaults 1 1 UUID=fccf51c1-2d2f-4152-baac-99ead8cfbc1a /boot ext4 defaults 1 2 /dev/mapper/vg_rootlhr-Vol01 /tmp ext4 defaults 1 2 /dev/mapper/vg_rootlhr-Vol02 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=2G 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/vg_rootlhr/Vol03 /home ext4 defaults 0 0 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 /var/lib/mysql57 ext4 defaults 0 0
|
關閉iptables防火牆:
臨時關閉:service iptables stop 永久關閉:chkconfig iptables off |
關閉selinux
vi /etc/sysconfig/selinux |
將SELINUX修改成DISABLED,即SELINUX=DISABLED
[root@LHRDB ~]# cd /tmp/mysql5719/ [root@LHRDB mysql5719]# ll total 625640 -rw-r--r--. 1 root root 640650826 Aug 23 10:48 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz [root@LHRDB mysql5719]# md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz dbe7e5e820377c29d8681005065e5728 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz |
和官網的MD5保持一致,說明安裝文件的下載和上傳過程沒有問題:
Compressed TAR Archive |
5.7.19 |
611.0M |
Download |
(mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz) |
MD5: dbe7e5e820377c29d8681005065e5728 | Signature |
[root@LHRDB mysql5719]# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/ mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisam_ftdump mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisamchk mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisamlog mysql-5.7.19-linux-glibc2.12-x86_64/bin/myisampack mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_client_test_embedded mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_config_editor mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_embedded mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_install_db mysql-5.7.19-linux-glibc2.12-x86_64/bin/mysql_plugin 。。。。。。。 省略部分。。。。。。。。 mysql-5.7.19-linux-glibc2.12-x86_64/lib/libmysqlclient.so.20 mysql-5.7.19-linux-glibc2.12-x86_64/lib/libmysqlclient.so.20.3.6 mysql-5.7.19-linux-glibc2.12-x86_64/share/install_rewriter.sql mysql-5.7.19-linux-glibc2.12-x86_64/share/uninstall_rewriter.sql mysql-5.7.19-linux-glibc2.12-x86_64/support-files/magic mysql-5.7.19-linux-glibc2.12-x86_64/support-files/mysql.server mysql-5.7.19-linux-glibc2.12-x86_64/docs/INFO_BIN mysql-5.7.19-linux-glibc2.12-x86_64/docs/INFO_SRC [root@LHRDB mysql5719]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.9G 4.6G 52% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 680M 2.2G 24% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home .host:/ 331G 272G 59G 83% /mnt/hgfs /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.6G 2.2G 55% /var/lib/mysql57
|
[root@LHRDB ~]# cd /var/lib/mysql57/ [root@LHRDB mysql57]# ll total 20 drwx------. 2 root root 16384 Aug 23 13:21 lost+found drwxr-xr-x. 9 root root 4096 Aug 23 13:28 mysql-5.7.19-linux-glibc2.12-x86_64 [root@LHRDB mysql57]# mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719 [root@LHRDB mysql57]# ll total 20 drwx------. 2 root root 16384 Aug 23 13:21 lost+found drwxr-xr-x. 9 root root 4096 Aug 23 13:28 mysql5719 [root@LHRDB mysql57]#
|
也可使用ln鏈接:
ln –s mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719 |
[root@LHRDB mysql57]# mkdir -p /var/lib/mysql57/mysql5719/data [root@LHRDB mysql57]# mkdir -p /var/lib/mysql57/mysql5719/log |
groupadd mysql ## 添加一個mysql組
useradd -r -g mysql mysql ## 添加一個用戶
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用戶禁止登陸shell
[root@LHRDB ~]# groupadd mysql groupadd: group 'mysql' already exists [root@LHRDB ~]# useradd -r -g mysql mysql useradd: user 'mysql' already exists |
說明自己就有mysql用戶和組。
[root@LHRDB mysql57]# chown –R mysql.mysql /var/lib/mysql57 chown: invalid user: `\226R' [root@LHRDB mysql57]# cd .. [root@LHRDB lib]# chown –R mysql.mysql /var/lib/mysql57 |
注意:MySQL 5.7.6以後的版本初始化數據庫再也不使用mysql_install_db,可是在MySQL 5.7.19裏依然保留着這個文件。
官網:https://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html
mysql_install_db is deprecated as of MySQL 5.7.6 because its functionality has been integrated into mysqld, the MySQL server. To initialize a MySQL installation, invoke mysqld with the --initialize or --initialize-insecure option. For more information, see Section 2.10.1.1, 「Initializing the Data Directory Manually Using mysqld」. mysql_install_db will be removed in a future MySQL release.
[root@LHRDB mysql5719]# ll total 60 drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:27 bin -rw-r--r--. 1 mysql mysql 17987 Jun 22 22:13 COPYING drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:35 data drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:28 docs drwxr-xr-x. 3 mysql mysql 4096 Aug 23 13:27 include drwxr-xr-x. 5 mysql mysql 4096 Aug 23 13:28 lib drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:35 log drwxr-xr-x. 4 mysql mysql 4096 Aug 23 13:27 man -rw-r--r--. 1 mysql mysql 2478 Jun 22 22:13 README drwxr-xr-x. 28 mysql mysql 4096 Aug 23 13:28 share drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:28 support-files [root@LHRDB mysql5719]# ./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data 2017-08-23T05:45:58.820448Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-23T05:45:59.123446Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-23T05:45:59.197904Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-23T05:45:59.273227Z 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: 571ab53c-87c6-11e7-ab76-000c291823c2. 2017-08-23T05:45:59.276384Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-23T05:45:59.277461Z 1 [Note] A temporary password is generated for root@localhost: k;A3Dktywkyj [root@LHRDB mysql5719]# |
這裏生成的臨時密碼爲:k;A3Dktywkyj
該過程會在data目錄下生成默認數據庫:
[root@LHRDB mysql5719]# cd data
[root@LHRDB data]# ll
total 110620
-rw-r-----. 1 mysql mysql 56 Aug 23 13:45 auto.cnf
-rw-r-----. 1 mysql mysql 420 Aug 23 13:46 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Aug 23 13:46 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Aug 23 13:46 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Aug 23 13:45 ib_logfile1
drwxr-x---. 2 mysql mysql 4096 Aug 23 13:45 mysql
drwxr-x---. 2 mysql mysql 4096 Aug 23 13:45 performance_schema
drwxr-x---. 2 mysql mysql 12288 Aug 23 13:46 sys
[root@LHRDB data]# du -sh .
122M .
建立SSL和RSA文件,關於這部分更多請參考:https://dev.mysql.com/doc/refman/5.7/en/mysql-ssl-rsa-setup.html。也能夠不執行這個步驟。
[root@LHRDB mysql5719]# ./bin/mysql_ssl_rsa_setup --datadir=/var/lib/mysql57/mysql5719/data Generating a 2048 bit RSA private key ................................................................................................................+++ ............................+++ writing new private key to 'ca-key.pem' ----- Generating a 2048 bit RSA private key ......................................+++ .................+++ writing new private key to 'server-key.pem' ----- Generating a 2048 bit RSA private key ........................+++ .................................................................+++ writing new private key to 'client-key.pem' -----
|
生產庫上根據須要配置更多參數:
[root@LHRDB support-files]# more /etc/my.cnf
[client]
port=3306
socket=/var/lib/mysql57/mysql.sock
[mysqld]
basedir=/var/lib/mysql57/mysql5719
datadir=/var/lib/mysql57/mysql5719/data
socket=/var/lib/mysql57/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/lib/mysql57/mysql5719/log/mysqld.log
pid-file=/var/lib/mysql57/mysql5719/data/mysqld.pid
[root@LHRDB mysql5719]# cd support-files/ [root@LHRDB support-files]# ll total 24 -rw-r--r--. 1 mysql mysql 773 Jun 22 22:13 magic -rwxr-xr-x. 1 mysql mysql 1061 Jun 22 22:54 mysqld_multi.server -rwxr-xr-x. 1 mysql mysql 894 Jun 22 22:54 mysql-log-rotate -rwxr-xr-x. 1 mysql mysql 10576 Jun 22 22:54 mysql.server [root@LHRDB support-files]# cp mysql.server /etc/init.d/mysql57 [root@LHRDB support-files]# chmod 755 /etc/init.d/mysql57 [root@LHRDB support-files]# chkconfig --add mysql57 [root@LHRDB support-files]# chkconfig mysql57 on [root@LHRDB support-files]# chkconfig --level 345 mysql57 on
|
注意:這裏的MySQL服務爲mysql57
[root@LHRDB support-files]# service mysql57 start Starting MySQL.2017-08-23T06:18:23.060126Z mysqld_safe error: log-error set to '/var/lib/mysql57/mysql5719/log/mysqld.log', however file don't exists. Create writable for user 'mysql'. The server quit without updating PID file (/var/lib/mysql57/mysql5719/data/LHRDB.pid).[FAILED] [root@LHRDB support-files]# cd /var/lib/mysql57/mysql5719/log/ [root@LHRDB log]# ll total 0 [root@LHRDB log]# cd .. [root@LHRDB mysql5719]# ll total 60 drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:27 bin -rw-r--r--. 1 mysql mysql 17987 Jun 22 22:13 COPYING drwxr-xr-x. 5 mysql mysql 4096 Aug 23 13:46 data drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:28 docs drwxr-xr-x. 3 mysql mysql 4096 Aug 23 13:27 include drwxr-xr-x. 5 mysql mysql 4096 Aug 23 13:28 lib drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:35 log drwxr-xr-x. 4 mysql mysql 4096 Aug 23 13:27 man -rw-r--r--. 1 mysql mysql 2478 Jun 22 22:13 README drwxr-xr-x. 28 mysql mysql 4096 Aug 23 13:28 share drwxr-xr-x. 2 mysql mysql 4096 Aug 23 13:28 support-files [root@LHRDB mysql5719]# echo '' > /var/lib/mysql57/mysql5719/log/mysqld.log [root@LHRDB mysql5719]# chown mysql.mysql /var/lib/mysql57/mysql5719/log/mysqld.log [root@LHRDB mysql5719]# service mysql57 start Starting MySQL.[ OK ] [root@LHRDB mysql5719]# ps -ef|grep mysql root 18194 1 0 14:20 pts/1 00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --datadir=/var/lib/mysql57/mysql5719/data --pid-file=/var/lib/mysql57/mysql5719/data/LHRDB.pid mysql 18370 18194 0 14:20 pts/1 00:00:00 /var/lib/mysql57/mysql5719/bin/mysqld --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --plugin-dir=/var/lib/mysql57/mysql5719/lib/plugin --user=mysql --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --pid-file=/var/lib/mysql57/mysql5719/data/LHRDB.pid --socket=/var/lib/mysql57/mysql.sock root 18407 13196 0 14:21 pts/1 00:00:00 grep mysql [root@LHRDB mysql5719]#
|
或者:
[root@LHRDB ~]# which mysqld_safe /var/lib/mysql57/mysql5719/bin/mysqld_safe [root@LHRDB ~]# mysqld_safe --user=mysql & [1] 18674 [root@LHRDB ~]# 2017-08-23T06:40:04.996137Z mysqld_safe Logging to '/var/lib/mysql57/mysql5719/log/mysqld.log'. 2017-08-23T06:40:05.053483Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql57/mysql5719/data
|
編輯文件/etc/profile,在最後添加以下的內容:
MYSQL_HOME=/var/lib/mysql57/mysql5719 PATH=$PATH:$MYSQL_HOME/bin |
讓環境變量生效:source /etc/profile
[root@LHRDB ~]# mysql -p Enter password: ---》臨時密碼爲:k;A3Dktywkyj Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.19
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set password=password('lhr'); Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.04 sec)
|
修改密碼也能夠用:update mysql.user set authentication_string=password('lhr') where user='root';
mysql> grant all privileges on *.* to root@'%' identified by 'lhr'; Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from mysql.user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 4 rows in set (0.00 sec)
[root@LHRDB ~]# mysql -uroot -plhr -h192.168.59.159 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.19 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
|
在Windows下遠程登陸:
D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.19 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> |
可能會出現下面的錯誤:
D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159
Warning: Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.59.159' (10060)
緣由:主機192.168.59.159上的防火牆未關閉
解決辦法:關閉防火牆,如下2個命令都須要執行:
chkconfig iptables off ---永久
service iptables stop ---臨時
MySQL官方提供的工具,仍是比較實用的:
該工具比較強大,有不少的實用功能:
[root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.8G 4.6G 51% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 681M 2.2G 24% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 .host:/ 331G 272G 59G 83% /mnt/hgfs [root@LHRDB ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_mysqlsoft 1 1 0 wz--n- 10.00g 5.00g vg_rootlhr 2 4 0 wz--n- 19.80g 1.80g [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_56 -L 2G vg_mysqlsoft Logical volume "lv_mysqlsoft_56" created [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_56 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 524288 blocks 26214 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=536870912 16 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912
Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@LHRDB ~]# cd /usr/local/mysql -bash: cd: /usr/local/mysql: No such file or directory [root@LHRDB ~]# mkdir /usr/local/mysql56 [root@LHRDB ~]# chown mysql /usr/local/mysql56 [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_56 /usr/local/mysql56/ [root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.8G 4.6G 51% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 681M 2.2G 24% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 .host:/ 331G 272G 59G 83% /mnt/hgfs /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 67M 1.9G 4% /usr/local/mysql56
|
rpm的安裝方式請參考:
http://blog.itpub.net/26736162/viewspace-1349705/
http://blog.itpub.net/26736162/viewspace-1349787/
[root@LHRDB mysql56]# tar -zxvf /tmp/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql56/ mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-ATIS mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-select mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/crash-me mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-wisconsin mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest1b mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest2a mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/innotest1 mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/test-create mysql-5.6.37-linux-glibc2.12-x86_64/sql-bench/bench-count-distinct 。。。。。。。。。。。。省略。。。。。。。。。。。。。。 mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/events_restart-master.opt mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/empty_table.test mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/innodb_mrr-master.opt mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/t/ssl_mode_no_ssl-master.opt mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/valgrind.supp mysql-5.6.37-linux-glibc2.12-x86_64/mysql-test/mysql-test-run.pl [root@LHRDB mysql56]# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql5637 [root@LHRDB mysql56]# cd mysql5637/ [root@LHRDB mysql5637]# ll total 68 drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 bin -rw-r--r-- 1 mysql mysql 17987 Jun 3 01:42 COPYING drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 data drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 docs drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 include drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 lib drwxr-xr-x 4 mysql mysql 4096 Aug 25 18:24 man drwxr-xr-x 10 mysql mysql 4096 Aug 25 18:24 mysql-test -rw-r--r-- 1 mysql mysql 2496 Jun 3 01:42 README drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 scripts drwxr-xr-x 28 mysql mysql 4096 Aug 25 18:24 share drwxr-xr-x 4 mysql mysql 4096 Aug 25 18:24 sql-bench drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 support-files [root@LHRDB mysql5637]# mkdir log [root@LHRDB mysql5637]# chown mysql.mysql log [root@LHRDB mysql5637]# ll total 72 drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 bin -rw-r--r-- 1 mysql mysql 17987 Jun 3 01:42 COPYING drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 data drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 docs drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 include drwxr-xr-x 3 mysql mysql 4096 Aug 25 18:24 lib drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:32 log drwxr-xr-x 4 mysql mysql 4096 Aug 25 18:24 man drwxr-xr-x 10 mysql mysql 4096 Aug 25 18:24 mysql-test -rw-r--r-- 1 mysql mysql 2496 Jun 3 01:42 README drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 scripts drwxr-xr-x 28 mysql mysql 4096 Aug 25 18:24 share drwxr-xr-x 4 mysql mysql 4096 Aug 25 18:24 sql-bench drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 support-files
|
[root@LHRDB mysql5637]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data Installing MySQL system tables...2017-08-25 18:37:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-25 18:37:13 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-08-25 18:37:13 0 [Note] /usr/local/mysql56/mysql5637/bin/mysqld (mysqld 5.6.37) starting as process 17757 ... 2017-08-25 18:37:13 17757 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-08-25 18:37:13 17757 [Note] InnoDB: The InnoDB memory heap is disabled 2017-08-25 18:37:13 17757 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-08-25 18:37:13 17757 [Note] InnoDB: Memory barrier is not used 2017-08-25 18:37:13 17757 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-08-25 18:37:13 17757 [Note] InnoDB: Using Linux native AIO 2017-08-25 18:37:13 17757 [Note] InnoDB: Using CPU crc32 instructions 2017-08-25 18:37:13 17757 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-08-25 18:37:13 17757 [Note] InnoDB: Completed initialization of buffer pool 2017-08-25 18:37:13 17757 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created! 2017-08-25 18:37:13 17757 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 2017-08-25 18:37:13 17757 [Note] InnoDB: Database physically writes the file full: wait... 2017-08-25 18:37:13 17757 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 2017-08-25 18:37:13 17757 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 2017-08-25 18:37:13 17757 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 2017-08-25 18:37:13 17757 [Warning] InnoDB: New log files created, LSN=45781 2017-08-25 18:37:13 17757 [Note] InnoDB: Doublewrite buffer not found: creating new 2017-08-25 18:37:13 17757 [Note] InnoDB: Doublewrite buffer created 2017-08-25 18:37:13 17757 [Note] InnoDB: 128 rollback segment(s) are active. 2017-08-25 18:37:13 17757 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-25 18:37:13 17757 [Note] InnoDB: Foreign key constraint system tables created 2017-08-25 18:37:13 17757 [Note] InnoDB: Creating tablespace and datafile system tables. 2017-08-25 18:37:13 17757 [Note] InnoDB: Tablespace and datafile system tables created. 2017-08-25 18:37:13 17757 [Note] InnoDB: Waiting for purge to start 2017-08-25 18:37:13 17757 [Note] InnoDB: 5.6.37 started; log sequence number 0 2017-08-25 18:37:14 17757 [Note] Binlog end 2017-08-25 18:37:14 17757 [Note] InnoDB: FTS optimize thread exiting. 2017-08-25 18:37:14 17757 [Note] InnoDB: Starting shutdown... 2017-08-25 18:37:15 17757 [Note] InnoDB: Shutdown completed; log sequence number 1625977 OK
Filling help tables...2017-08-25 18:37:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-25 18:37:15 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-08-25 18:37:15 0 [Note] /usr/local/mysql56/mysql5637/bin/mysqld (mysqld 5.6.37) starting as process 17779 ... 2017-08-25 18:37:15 17779 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-08-25 18:37:15 17779 [Note] InnoDB: The InnoDB memory heap is disabled 2017-08-25 18:37:15 17779 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-08-25 18:37:15 17779 [Note] InnoDB: Memory barrier is not used 2017-08-25 18:37:15 17779 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-08-25 18:37:15 17779 [Note] InnoDB: Using Linux native AIO 2017-08-25 18:37:15 17779 [Note] InnoDB: Using CPU crc32 instructions 2017-08-25 18:37:15 17779 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-08-25 18:37:15 17779 [Note] InnoDB: Completed initialization of buffer pool 2017-08-25 18:37:15 17779 [Note] InnoDB: Highest supported file format is Barracuda. 2017-08-25 18:37:15 17779 [Note] InnoDB: 128 rollback segment(s) are active. 2017-08-25 18:37:15 17779 [Note] InnoDB: Waiting for purge to start 2017-08-25 18:37:15 17779 [Note] InnoDB: 5.6.37 started; log sequence number 1625977 2017-08-25 18:37:15 17779 [Note] Binlog end 2017-08-25 18:37:15 17779 [Note] InnoDB: FTS optimize thread exiting. 2017-08-25 18:37:15 17779 [Note] InnoDB: Starting shutdown... 2017-08-25 18:37:17 17779 [Note] InnoDB: Shutdown completed; log sequence number 1625987 OK
To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands:
/usr/local/mysql56/mysql5637/bin/mysqladmin -u root password 'new-password' /usr/local/mysql56/mysql5637/bin/mysqladmin -u root -h LHRDB password 'new-password'
Alternatively you can run:
/usr/local/mysql56/mysql5637/bin/mysql_secure_installation
which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; /usr/local/mysql56/mysql5637/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /usr/local/mysql56/mysql5637/my.cnf and will be used by default by the server when you start it. You may edit this file to change server settings
WARNING: Default config file /etc/my.cnf exists on the system This file will be read by default by the MySQL server If you do not want to use this, either remove it, or use the --defaults-file argument to mysqld_safe when starting the server [root@LHRDB mysql5637]# cd data [root@LHRDB data]# ll total 110604 -rw-rw---- 1 mysql mysql 12582912 Aug 25 18:37 ibdata1 -rw-rw---- 1 mysql mysql 50331648 Aug 25 18:37 ib_logfile0 -rw-rw---- 1 mysql mysql 50331648 Aug 25 18:37 ib_logfile1 drwx------ 2 mysql mysql 4096 Aug 25 18:37 mysql drwx------ 2 mysql mysql 4096 Aug 25 18:37 performance_schema drwxr-xr-x 2 mysql mysql 4096 Aug 25 18:24 test
|
[root@LHRDB mysql5637]# more ./support-files/my.cnf [mysqld] basedir=/usr/local/mysql56/mysql5637 datadir=/usr/local/mysql56/mysql5637/data socket=/usr/local/mysql56/mysql5637/mysql.sock log-error=/usr/local/mysql56/mysql5637/log/mysqld.log user=mysql port=3307 [root@LHRDB mysql5637]# echo '' > /usr/local/mysql56/mysql5637/log/mysqld.log [root@LHRDB mysql5637]# ./bin/mysqld_safe --defaults-file=./support-files/my.cnf & [2] 13852 [root@LHRDB mysql5637]# 170827 17:52:15 mysqld_safe Logging to '/usr/local/mysql56/mysql5637/log/mysqld.log'. 170827 17:52:15 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql56/mysql5637/data
[root@LHRDB mysql5637]# ps -ef|grep mysql root 13195 13170 0 17:35 pts/0 00:00:00 tail -f /var/lib/mysql57/mysql5719/log/mysqld_multi.log root 13671 13198 0 17:45 pts/1 00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf mysql 13811 13671 0 17:45 pts/1 00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308 root 13852 13198 0 17:52 pts/1 00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf mysql 13990 13852 10 17:52 pts/1 00:00:00 /usr/local/mysql56/mysql5637/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --plugin-dir=/usr/local/mysql56/mysql5637/lib/plugin --user=mysql --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql56/mysql5637/mysql.sock --port=3307 root 14015 13198 0 17:52 pts/1 00:00:00 grep mysql
|
MySQL 5.6的二進制安裝默認密碼爲空。
set password=password('lhr');
[root@LHRDB mysql5719]# mysql -uroot --socket=/usr/local/mysql56/mysql5637/mysql.sock -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.37 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password=password("lhr"); Query OK, 0 rows affected (0.02 sec)
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
|
mysql> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | ::1 | root | | lhrdb | | | lhrdb | root | | localhost | | | localhost | root | +-----------+------+ 6 rows in set (0.00 sec)
mysql> grant all privileges on *.* to root@'%' identified by 'lhr'; Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | % | root | | 127.0.0.1 | root | | ::1 | root | | lhrdb | | | lhrdb | root | | localhost | | | localhost | root | +-----------+------+
|
D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P 3307 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.6.37 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
|
[root@LHRDB ~]# lvcreate -n lv_mysqlsoft_55 -L 2G vg_mysqlsoft Logical volume "lv_mysqlsoft_55" created [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_55 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 524288 blocks 26214 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=536870912 16 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912
Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@LHRDB ~]# mkdir /usr/local/mysql55 [root@LHRDB ~]# chown mysql /usr/local/mysql55 [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_55 /usr/local/mysql55/ [root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.8G 4.6G 52% / tmpfs 2.0G 68K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.1G 1.8G 40% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 .host:/ 331G 272G 59G 83% /mnt/hgfs /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 67M 1.9G 4% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 67M 1.9G 4% /usr/local/mysql55
|
[root@LHRDB mysql56]# tar -zxvf /tmp/mysql-5.5.57-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql55 mysql-5.5.57-linux-glibc2.12-x86_64/scripts/mysql_install_db mysql-5.5.57-linux-glibc2.12-x86_64/INSTALL-BINARY mysql-5.5.57-linux-glibc2.12-x86_64/share/slovak/errmsg.sys mysql-5.5.57-linux-glibc2.12-x86_64/share/norwegian/errmsg.sys mysql-5.5.57-linux-glibc2.12-x86_64/share/fill_help_tables.sql mysql-5.5.57-linux-glibc2.12-x86_64/share/spanish/errmsg.sys mysql-5.5.57-linux-glibc2.12-x86_64/share/czech/errmsg.sys mysql-5.5.57-linux-glibc2.12-x86_64/share/dutch/errmsg.sys 。。。。。。。。。。。。省略。。。。。。。。。。。。。。 mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_null-master.opt mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_warnings_win.test mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_error.test mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_null.test mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/t/secure_file_priv_warnings.test mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings.result mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_error.result mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings_win.result mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_null.result mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/cert_verify.result mysql-5.5.57-linux-glibc2.12-x86_64/mysql-test/suite/auth_sec/r/secure_file_priv_warnings_not_win.result [root@LHRDB tmp]# cd /usr/local/mysql55 [root@LHRDB mysql55]# ll total 4 drwxr-xr-x 13 root root 4096 Aug 27 17:07 mysql-5.5.57-linux-glibc2.12-x86_64 [root@LHRDB mysql55]# [root@LHRDB mysql55]# mv mysql-5.5.57-linux-glibc2.12-x86_64 mysql5557 [root@LHRDB mysql55]# cd mysql5557/ [root@LHRDB mysql5557]# ll total 72 drwxr-xr-x 2 root root 4096 Aug 27 17:07 bin -rw-r--r-- 1 7161 31415 17987 Jun 5 14:38 COPYING drwxr-xr-x 3 root root 4096 Aug 27 17:07 data drwxr-xr-x 2 root root 4096 Aug 27 17:07 docs drwxr-xr-x 3 root root 4096 Aug 27 17:07 include -rw-r--r-- 1 7161 31415 301 Jun 5 14:38 INSTALL-BINARY drwxr-xr-x 3 root root 4096 Aug 27 17:07 lib drwxr-xr-x 4 root root 4096 Aug 27 17:07 man drwxr-xr-x 10 root root 4096 Aug 27 17:07 mysql-test -rw-r--r-- 1 7161 31415 2496 Jun 5 14:38 README drwxr-xr-x 2 root root 4096 Aug 27 17:07 scripts drwxr-xr-x 27 root root 4096 Aug 27 17:07 share drwxr-xr-x 4 root root 4096 Aug 27 17:07 sql-bench drwxr-xr-x 2 root root 4096 Aug 27 17:07 support-files [root@LHRDB mysql5557]# mkdir log [root@LHRDB mysql5557]# cd .. [root@LHRDB mysql55]# chown mysql.mysql . [root@LHRDB mysql55]# chown -R mysql.mysql .
|
[root@LHRDB mysql5557]# ll total 76 drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 bin -rw-r--r-- 1 mysql mysql 17987 Jun 5 14:38 COPYING drwxr-xr-x 3 mysql mysql 4096 Aug 27 17:07 data drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 docs drwxr-xr-x 3 mysql mysql 4096 Aug 27 17:07 include -rw-r--r-- 1 mysql mysql 301 Jun 5 14:38 INSTALL-BINARY drwxr-xr-x 3 mysql mysql 4096 Aug 27 17:07 lib drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:10 log drwxr-xr-x 4 mysql mysql 4096 Aug 27 17:07 man drwxr-xr-x 10 mysql mysql 4096 Aug 27 17:07 mysql-test -rw-r--r-- 1 mysql mysql 2496 Jun 5 14:38 README drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 scripts drwxr-xr-x 27 mysql mysql 4096 Aug 27 17:07 share drwxr-xr-x 4 mysql mysql 4096 Aug 27 17:07 sql-bench drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 support-files [root@LHRDB mysql5557]# pwd /usr/local/mysql55/mysql5557 [root@LHRDB mysql5557]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data Installing MySQL system tables... 170827 17:12:09 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 170827 17:12:09 [Note] /usr/local/mysql55/mysql5557/bin/mysqld (mysqld 5.5.57) starting as process 19995 ... OK Filling help tables... 170827 17:12:10 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 170827 17:12:10 [Note] /usr/local/mysql55/mysql5557/bin/mysqld (mysqld 5.5.57) starting as process 20002 ... OK
To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands:
/usr/local/mysql55/mysql5557/bin/mysqladmin -u root password 'new-password' /usr/local/mysql55/mysql5557/bin/mysqladmin -u root -h LHRDB password 'new-password'
Alternatively you can run: /usr/local/mysql55/mysql5557/bin/mysql_secure_installation
which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with: cd /usr/local/mysql55/mysql5557 ; /usr/local/mysql55/mysql5557/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl cd /usr/local/mysql55/mysql5557/mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
[root@LHRDB mysql5557]# ll total 76 drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 bin -rw-r--r-- 1 mysql mysql 17987 Jun 5 14:38 COPYING drwxr-xr-x 5 mysql mysql 4096 Aug 27 17:12 data drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 docs drwxr-xr-x 3 mysql mysql 4096 Aug 27 17:07 include -rw-r--r-- 1 mysql mysql 301 Jun 5 14:38 INSTALL-BINARY drwxr-xr-x 3 mysql mysql 4096 Aug 27 17:07 lib drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:10 log drwxr-xr-x 4 mysql mysql 4096 Aug 27 17:07 man drwxr-xr-x 10 mysql mysql 4096 Aug 27 17:07 mysql-test -rw-r--r-- 1 mysql mysql 2496 Jun 5 14:38 README drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 scripts drwxr-xr-x 27 mysql mysql 4096 Aug 27 17:07 share drwxr-xr-x 4 mysql mysql 4096 Aug 27 17:07 sql-bench drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 support-files [root@LHRDB mysql5557]# cd data/ [root@LHRDB data]# ll total 12 drwx------ 2 mysql root 4096 Aug 27 17:12 mysql drwx------ 2 mysql mysql 4096 Aug 27 17:12 performance_schema drwxr-xr-x 2 mysql mysql 4096 Aug 27 17:07 test [root@LHRDB data]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.6G 4.9G 49% / tmpfs 2.0G 68K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.2G 1.7G 42% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 .host:/ 331G 273G 58G 83% /mnt/hgfs /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 1.4G 575M 70% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 848M 1.1G 45% /usr/local/mysql55
|
[root@LHRDB support-files]# more my.cnf [mysqld] basedir=/usr/local/mysql55/mysql5557 datadir=/usr/local/mysql55/mysql5557/data socket=/usr/local/mysql55/mysql5557/mysql.sock log-error=/usr/local/mysql55/mysql5557/log/mysqld.log user=mysql port=3308 [root@LHRDB support-files]# cd .. [root@LHRDB mysql5557]# [root@LHRDB mysql5557]# echo '' > /usr/local/mysql55/mysql5557/log/mysqld.log [root@LHRDB mysql5557]# [root@LHRDB mysql5557]# ./bin/mysqld_safe --defaults-file=./support-files/my.cnf & [1] 13671 [root@LHRDB mysql5557]# 170827 17:45:54 mysqld_safe Logging to '/usr/local/mysql55/mysql5557/log/mysqld.log'. 170827 17:45:54 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql55/mysql5557/data [root@LHRDB mysql5557]# ps -ef|grep mysql root 13195 13170 0 17:35 pts/0 00:00:00 tail -f /var/lib/mysql57/mysql5719/log/mysqld_multi.log root 13671 13198 0 17:45 pts/1 00:00:00 /bin/sh ./bin/mysqld_safe --defaults-file=./support-files/my.cnf mysql 13811 13671 0 17:45 pts/1 00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --defaults-file=./support-files/my.cnf --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308 root 13830 13198 0 17:45 pts/1 00:00:00 grep mysql
|
MySQL 5.5的二進制安裝默認密碼爲空。
set password=password('lhr');
[root@LHRDB mysql5719]# mysql -uroot --socket=/usr/local/mysql55/mysql5557/mysql.sock -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.37 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password=password("lhr"); Query OK, 0 rows affected (0.02 sec)
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
|
mysql> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | ::1 | root | | lhrdb | | | lhrdb | root | | localhost | | | localhost | root | +-----------+------+ 6 rows in set (0.00 sec)
mysql> grant all privileges on *.* to root@'%' identified by 'lhr'; Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | % | root | | 127.0.0.1 | root | | ::1 | root | | lhrdb | | | lhrdb | root | | localhost | | | localhost | root | +-----------+------+
|
D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P 3308 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.5.57 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
|
[root@LHRDB support-files]# more /etc/my.cnf [mysqld_multi] mysqld=mysqld_safe mysqladmin=/var/lib/mysql57/mysql5719/bin/mysqladmin log=/var/lib/mysql57/mysql5719/log/mysqld_multi.log user=root pass=lhr
[client] port=3306 socket=/var/lib/mysql57/mysql5719/mysql.sock user=root host=localhost password=lhr
[mysqld] basedir=/var/lib/mysql57/mysql5719 datadir=/var/lib/mysql57/mysql5719/data socket=/var/lib/mysql57/mysql5719/mysql.sock log-error=/var/lib/mysql57/mysql5719/log/mysqld.log user=mysql port=3306
[mysqld56] basedir=/usr/local/mysql56/mysql5637 datadir=/usr/local/mysql56/mysql5637/data socket=/usr/local/mysql56/mysql5637/mysql.sock log-error=/usr/local/mysql56/mysql5637/log/mysqld.log user=mysql port=3307
[mysqld55] basedir=/usr/local/mysql55/mysql5557 datadir=/usr/local/mysql55/mysql5557/data socket=/usr/local/mysql55/mysql5557/mysql.sock log-error=/usr/local/mysql55/mysql5557/log/mysqld.log user=mysql port=3308
# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
[mysqld_safe] log-error=/var/lib/mysql57/mysql5719/log/mysqld.log #pid-file=/var/lib/mysql57/mysql5719/data/mysqld.pid
|
[root@LHRDB mysql5719]# cd support-files/ [root@LHRDB support-files]# ll total 24 -rw-r--r--. 1 mysql mysql 773 Jun 22 22:13 magic -rwxr-xr-x. 1 mysql mysql 1061 Jun 22 22:54 mysqld_multi.server -rwxr-xr-x. 1 mysql mysql 894 Jun 22 22:54 mysql-log-rotate -rwxr-xr-x. 1 mysql mysql 10576 Jun 22 22:54 mysql.server [root@LHRDB support-files]# cp mysqld_multi.server /etc/init.d/mysqld_multi [root@LHRDB support-files]# chmod 755 /etc/init.d/mysqld_multi [root@LHRDB support-files]# chkconfig --add mysqld_multi [root@LHRDB support-files]# chkconfig mysqld_multi on [root@LHRDB support-files]# chkconfig --level 345 mysqld_multi on
|
注意:這裏的MySQL服務爲mysqld_multi
編輯文件:/etc/init.d/mysqld_multi,修改以下3行的參數值:
. /etc/profile basedir=/var/lib/mysql57/mysql5719 bindir=/var/lib/mysql57/mysql5719/bin
|
因爲採用了mysqld_multi來統一管理MySQL的實例,因此,去掉mysql 5.7的開機啓動。
chkconfig mysql57 off
[root@LHRDB init.d]# chkconfig mysql57 off |
重啓機器,試試效果:
[root@LHRDB init.d]# reboot [root@LHRDB init.d]# Broadcast message from root@LHRDB (/dev/pts/1) at 18:27 ...
The system is going down for reboot NOW!
|
重啓以後:
[root@LHRDB ~]# ps -ef|grep mysql root 12338 1 0 20:19 ? 00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --socket=/var/lib/mysql57/mysql5719/mysql.sock --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --user=mysql --port=3306 root 12401 1 0 20:19 ? 00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --socket=/usr/local/mysql56/mysql5637/mysql.sock --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --user=mysql --port=3307 root 12471 1 0 20:19 ? 00:00:00 /bin/sh /var/lib/mysql57/mysql5719/bin/mysqld_safe --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --socket=/usr/local/mysql55/mysql5557/mysql.sock --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --user=mysql --port=3308 --symbolic-links=0 mysql 12792 12471 0 20:19 ? 00:00:00 /usr/local/mysql55/mysql5557/bin/mysqld --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --plugin-dir=/usr/local/mysql55/mysql5557/lib/plugin --user=mysql --symbolic-links=0 --log-error=/usr/local/mysql55/mysql5557/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql55/mysql5557/mysql.sock --port=3308 mysql 12822 12338 0 20:19 ? 00:00:00 /var/lib/mysql57/mysql5719/bin/mysqld --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data --plugin-dir=/var/lib/mysql57/mysql5719/lib/plugin --user=mysql --log-error=/var/lib/mysql57/mysql5719/log/mysqld.log --pid-file=LHRDB.pid --socket=/var/lib/mysql57/mysql5719/mysql.sock --port=3306 mysql 12885 12401 0 20:19 ? 00:00:00 /usr/local/mysql56/mysql5637/bin/mysqld --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data --plugin-dir=/usr/local/mysql56/mysql5637/lib/plugin --user=mysql --log-error=/usr/local/mysql56/mysql5637/log/mysqld.log --pid-file=LHRDB.pid --socket=/usr/local/mysql56/mysql5637/mysql.sock --port=3307 root 13205 13179 0 20:20 pts/0 00:00:00 grep mysql [root@LHRDB ~]# mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld57 is running MySQL server from group: mysqld56 is running MySQL server from group: mysqld55 is running [root@LHRDB ~]# netstat -lntp | grep mysqld tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 12792/mysqld tcp 0 0 :::3307 :::* LISTEN 12885/mysqld tcp 0 0 :::3306 :::* LISTEN 12822/mysqld
|
啓動所有實例:mysqld_multi start
查看所有實例狀態:mysqld_multi report
啓動單個實例:mysqld_multi start 3306
中止單個實例:mysqld_multi stop 3306
查看單個實例狀態:mysqld_multi report 3306
官網地址:https://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html
源碼編譯安裝的更多內容:http://blog.itpub.net/26736162/viewspace-2144212/
地址:https://dev.mysql.com/downloads/mysql/
說明:這裏有兩個包,在5.7之後,必需要有boost這個包
groupadd mysql useradd -r -g mysql mysql |
其中-r表示用戶是系統用戶,不可登陸系統。
[root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.6G 4.9G 49% / tmpfs 2.0G 76K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.8G 1.1G 64% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 1.4G 575M 70% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 848M 1.1G 45% /usr/local/mysql55 .host:/ 331G 273G 58G 83% /mnt/hgfs /dev/sr0 3.6G 3.6G 0 100% /media/RHEL_6.5 x86_64 Disc 1 /dev/sr0 3.6G 3.6G 0 100% /media/lhr/cdrom [root@LHRDB ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_mysqlsoft 1 3 0 wz--n- 10.00g 1020.00m vg_rootlhr 2 4 0 wz--n- 19.80g 1.80g [root@LHRDB ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_rootlhr lvm2 a-- 10.00g 0 /dev/sda3 vg_rootlhr lvm2 a-- 9.80g 1.80g /dev/sdb1 vg_mysqlsoft lvm2 a-- 10.00g 1020.00m /dev/sdb10 lvm2 a-- 10.00g 10.00g /dev/sdb11 lvm2 a-- 9.99g 9.99g /dev/sdb2 lvm2 a-- 10.00g 10.00g /dev/sdb3 lvm2 a-- 10.00g 10.00g /dev/sdb5 lvm2 a-- 10.00g 10.00g /dev/sdb6 lvm2 a-- 10.00g 10.00g /dev/sdb7 lvm2 a-- 10.00g 10.00g /dev/sdb8 lvm2 a-- 10.00g 10.00g /dev/sdb9 lvm2 a-- 10.00g 10.00g [root@LHRDB ~]# vgextend vg_mysqlsoft /dev/sdb2 Volume group "vg_mysqlsoft" successfully extended [root@LHRDB ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_mysqlsoft 2 3 0 wz--n- 19.99g 10.99g vg_rootlhr 2 4 0 wz--n- 19.80g 1.80g [root@LHRDB ~]# lvcreate -n lv_mysqlsoft_57sc -L 10G vg_mysqlsoft Logical volume "lv_mysqlsoft_57sc" created [root@LHRDB ~]# mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57sc mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 327680 inodes, 1310720 blocks 65536 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@LHRDB ~]# mkdir /usr/local/mysql57sc [root@LHRDB ~]# chown mysql.mysql /usr/local/mysql57sc [root@LHRDB ~]# mount /dev/vg_mysqlsoft/lv_mysqlsoft_57sc /usr/local/mysql57sc/ [root@LHRDB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.6G 4.8G 49% / tmpfs 2.0G 76K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.8G 1.1G 64% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 1.4G 575M 70% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 848M 1.1G 45% /usr/local/mysql55 .host:/ 331G 273G 58G 83% /mnt/hgfs /dev/sr0 3.6G 3.6G 0 100% /media/RHEL_6.5 x86_64 Disc 1 /dev/sr0 3.6G 3.6G 0 100% /media/lhr/cdrom /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc 9.9G 138M 9.6G 1% /usr/local/mysql57sc [root@LHRDB ~]# more /etc/fstab # # /etc/fstab # Created by anaconda on Sat Jan 14 18:56:24 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_rootlhr-Vol00 / ext4 defaults 1 1 UUID=fccf51c1-2d2f-4152-baac-99ead8cfbc1a /boot ext4 defaults 1 2 /dev/mapper/vg_rootlhr-Vol01 /tmp ext4 defaults 1 2 /dev/mapper/vg_rootlhr-Vol02 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=2G 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/vg_rootlhr/Vol03 /home ext4 defaults 0 0 /dev/vg_mysqlsoft/lv_mysqlsoft_57 /var/lib/mysql57 ext4 defaults 0 0 /dev/vg_mysqlsoft/lv_mysqlsoft_56 /usr/local/mysql56 ext4 defaults 0 0 /dev/vg_mysqlsoft/lv_mysqlsoft_55 /usr/local/mysql55 ext4 defaults 0 0 /dev/sr0 /media/lhr/cdrom iso9660 defaults,ro,loop 0 0 /dev/vg_mysqlsoft/lv_mysqlsoft_57sc /usr/local/mysql57sc ext4 defaults 0 0
|
[root@LHRDB ~]# mkdir -p /tmp/mysql5.7sc |
[root@LHRDB ~]# cd /tmp/mysql5.7sc [root@LHRDB mysql5.7sc]# ll total 98136 -rw-r--r-- 1 root root 51686763 Aug 28 09:50 mysql-5.7.19.tar.gz -rw-r--r-- 1 root root 48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz [root@LHRDB mysql5.7sc]# tar -zxf /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/ [root@LHRDB mysql5.7sc]# tar -zxf /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/ [root@LHRDB mysql5.7sc]# ll total 98140 drwxr-xr-x 36 7161 31415 4096 Jun 22 22:24 mysql-5.7.19 -rw-r--r-- 1 root root 51686763 Aug 28 09:50 mysql-5.7.19.tar.gz -rw-r--r-- 1 root root 48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz [root@LHRDB mysql5.7sc]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.7G 4.8G 50% / tmpfs 2.0G 76K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.6G 1.3G 56% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 1.4G 575M 70% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 848M 1.1G 45% /usr/local/mysql55 .host:/ 331G 273G 58G 83% /mnt/hgfs /dev/sr0 3.6G 3.6G 0 100% /media/RHEL_6.5 x86_64 Disc 1 /dev/sr0 3.6G 3.6G 0 100% /media/lhr/cdrom /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc 9.9G 683M 9.4G 7% /usr/local/mysql57sc |
修改目錄的權限:
[root@LHRDB local]# cd /usr/local/mysql57sc [root@LHRDB mysql57sc]# mv mysql-5.7.19 mysql57 [root@LHRDB mysql57sc]# mkdir ./mysql57/data [root@LHRDB mysql57sc]# mkdir ./mysql57/log [root@LHRDB mysql57sc]# chown -R mysql.mysql .
|
mkdir -p /media/lhr/cdrom mount /dev/sr0 /media/lhr/cdrom/
#設置開機自動掛載系統鏡像文件 vi /etc/fstab 添加如下內容 /dev/sr0 /media/lhr/cdrom iso9660 defaults,ro,loop 0 0
cd /etc/yum.repos.d/ cp rhel-media.repo rhel-media.repo.bk vi /etc/yum.repos.d/rhel-media.repo [rhel-media] name=Red Hat Enterprise Linux 6.5 baseurl=file:///media/lhr/cdrom enabled=1 gpgcheck=1 gpgkey=file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release |
[root@LHRDB ~]# mkdir -p /media/lhr/cdrom [root@LHRDB ~]# mount /dev/sr0 /media/lhr/cdrom/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@LHRDB ~]# cd /etc/yum.repos.d/ [root@LHRDB yum.repos.d]# cp rhel-media.repo rhel-media.repo.bk [root@LHRDB yum.repos.d]# more /etc/yum.repos.d/rhel-media.repo [rhel-media] name=Red Hat Enterprise Linux 6.5 baseurl=file:///media/lhr/cdrom enabled=1 gpgcheck=1 gpgkey=file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release
|
yum install -y cmake make gcc gcc-c++ ncurses-devel |
[root@LHRDB yum.repos.d]# yum install -y cmake make gcc gcc-c++ ncurses-devel Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. rhel-media | 3.9 kB 00:00 ... Setting up Install Process Package 1:make-3.81-20.el6.x86_64 already installed and latest version Package gcc-4.4.7-4.el6.x86_64 already installed and latest version Package gcc-c++-4.4.7-4.el6.x86_64 already installed and latest version Package ncurses-devel-5.7-3.20090208.el6.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package cmake.x86_64 0:2.6.4-5.el6 will be installed --> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================================== Installing: cmake x86_64 2.6.4-5.el6 rhel-media 5.1 M
Transaction Summary ================================================================================================================================================================================================================== Install 1 Package(s)
Total download size: 5.1 M Installed size: 17 M Downloading Packages: warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Retrieving key from file:///media/lhr/cdrom/RPM-GPG-KEY-redhat-release Importing GPG key 0xFD431D51: Userid: "Red Hat, Inc. (release key 2) <security@redhat.com>" From : /media/lhr/cdrom/RPM-GPG-KEY-redhat-release Importing GPG key 0x2FA658E0: Userid: "Red Hat, Inc. (auxiliary key) <security@redhat.com>" From : /media/lhr/cdrom/RPM-GPG-KEY-redhat-release Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : cmake-2.6.4-5.el6.x86_64 1/1 Verifying : cmake-2.6.4-5.el6.x86_64 1/1
Installed: cmake.x86_64 0:2.6.4-5.el6
Complete!
|
注意:這裏的cmake最低須要2.8.2版本的,否則會報錯,先接着往下作吧。
[root@LHRDB mysql-5.7.19]# cmake -version cmake version 2.6-patch 4 [root@LHRDB mysql-5.7.19]# pwd /tmp/mysql5.7sc/mysql-5.7.19 [root@LHRDB mysql-5.7.19]# ll total 332 drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 boost drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 BUILD drwxr-xr-x 6 7161 31415 4096 Jun 22 22:24 client drwxr-xr-x 4 7161 31415 4096 Jun 22 22:24 cmake -rw-r--r-- 1 7161 31415 26727 Jun 22 22:13 CMakeLists.txt drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 cmd-line-utils -rw-r--r-- 1 7161 31415 13832 Jun 22 22:13 config.h.cmake -rw-r--r-- 1 7161 31415 33704 Jun 22 22:13 configure.cmake -rw-r--r-- 1 7161 31415 17987 Jun 22 22:13 COPYING drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 dbug drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 Docs -rw-r--r-- 1 7161 31415 66241 Jun 22 22:13 Doxyfile-perfschema drwxr-xr-x 6 7161 31415 4096 Jun 22 22:24 extra drwxr-xr-x 5 7161 31415 4096 Jun 22 22:24 include -rw-r--r-- 1 7161 31415 333 Jun 22 22:13 INSTALL drwxr-xr-x 5 7161 31415 4096 Jun 22 22:24 libbinlogevents drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 libbinlogstandalone drwxr-xr-x 7 7161 31415 4096 Jun 22 22:24 libevent drwxr-xr-x 4 7161 31415 4096 Jun 22 22:24 libmysql drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 libmysqld drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 libservices drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 man drwxr-xr-x 10 7161 31415 4096 Jun 22 22:24 mysql-test drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 mysys drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 mysys_ssl drwxr-xr-x 10 7161 31415 4096 Jun 22 22:24 packaging drwxr-xr-x 18 7161 31415 4096 Jun 22 22:24 plugin drwxr-xr-x 4 7161 31415 4096 Jun 22 22:24 rapid -rw-r--r-- 1 7161 31415 2478 Jun 22 22:13 README drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 regex drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 scripts drwxr-xr-x 7 7161 31415 20480 Jun 22 22:24 sql drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 sql-common drwxr-xr-x 14 7161 31415 4096 Jun 22 22:24 storage drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 strings drwxr-xr-x 4 7161 31415 4096 Jun 22 22:24 support-files drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 testclients drwxr-xr-x 5 7161 31415 4096 Jun 22 22:24 unittest -rw-r--r-- 1 7161 31415 88 Jun 22 22:13 VERSION drwxr-xr-x 3 7161 31415 4096 Jun 22 22:24 vio drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 win drwxr-xr-x 2 7161 31415 4096 Jun 22 22:24 zlib [root@LHRDB mysql-5.7.19]# cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57 \ > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data \ > -DMYSQL_USER=mysql \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ > -DWITH_READLINE=1 \ > -DDOWNLOAD_BOOST=1 \ > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/ CMake Error at CMakeLists.txt:21 (CMAKE_MINIMUM_REQUIRED): CMake 2.8.2 or higher is required. You are running version 2.6.4
-- Configuring incomplete, errors occurred!
|
cmake每一個參數的介紹參考:http://blog.itpub.net/26736162/viewspace-2144212/
下載高版本cmake,http://www.cmake.org/cmake/resources/software.html,解壓縮cmake-3.9.1.tar.gz,解壓後執行「./bootstrap && make && make install」,以下:
[root@LHRDB ~]# cd /tmp/mysql5.7sc/ [root@LHRDB mysql5.7sc]# ll total 105664 -rw-r--r-- 1 root root 7702497 Aug 28 10:20 cmake-3.9.1.tar.gz drwxr-xr-x 37 7161 31415 4096 Aug 28 10:38 mysql-5.7.19 -rw-r--r-- 1 root root 51686763 Aug 28 09:50 mysql-5.7.19.tar.gz -rw-r--r-- 1 root root 48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz [root@LHRDB mysql5.7sc]# tar -zxf cmake-3.9.1.tar.gz [root@LHRDB mysql5.7sc]# ll total 105668 drwxr-xr-x 11 root root 4096 Aug 28 10:42 cmake-3.9.1 -rw-r--r-- 1 root root 7702497 Aug 28 10:20 cmake-3.9.1.tar.gz drwxr-xr-x 37 7161 31415 4096 Aug 28 10:38 mysql-5.7.19 -rw-r--r-- 1 root root 51686763 Aug 28 09:50 mysql-5.7.19.tar.gz -rw-r--r-- 1 root root 48799895 Aug 28 09:50 mysql-boost-5.7.19.tar.gz [root@LHRDB mysql5.7sc]# cd cmake-3.9.1 [root@LHRDB cmake-3.9.1]# ll total 284 drwxr-xr-x 4 502 games 4096 Aug 10 21:47 Auxiliary -rwxr-xr-x 1 502 games 48336 Aug 10 21:36 bootstrap -rw-r--r-- 1 502 games 9706 Aug 10 21:36 CMakeCPack.cmake -rw-r--r-- 1 502 games 12897 Aug 10 21:36 CMakeCPackOptions.cmake.in -rw-r--r-- 1 502 games 153 Aug 10 21:36 CMakeGraphVizOptions.cmake -rw-r--r-- 1 502 games 31721 Aug 10 21:36 CMakeLists.txt -rw-r--r-- 1 502 games 4481 Aug 10 21:36 CMakeLogo.gif -rw-r--r-- 1 502 games 790 Aug 10 21:36 cmake_uninstall.cmake.in -rw-r--r-- 1 502 games 3322 Aug 10 21:36 CompileFlags.cmake -rwxr-xr-x 1 502 games 99 Aug 10 21:36 configure -rw-r--r-- 1 502 games 1851 Aug 10 21:36 CONTRIBUTING.rst -rw-r--r-- 1 502 games 4999 Aug 10 21:36 Copyright.txt -rw-r--r-- 1 502 games 440 Aug 10 21:36 CTestConfig.cmake -rw-r--r-- 1 502 games 6213 Aug 10 21:36 CTestCustom.cmake.in -rw-r--r-- 1 502 games 374 Aug 10 21:36 DartConfig.cmake -rw-r--r-- 1 502 games 28046 Aug 10 21:36 doxygen.config drwxr-xr-x 18 502 games 4096 Aug 10 21:47 Help drwxr-xr-x 2 502 games 4096 Aug 10 21:47 Licenses drwxr-xr-x 12 502 games 20480 Aug 10 21:47 Modules drwxr-xr-x 3 502 games 4096 Aug 10 21:47 Packaging -rw-r--r-- 1 502 games 3016 Aug 10 21:36 README.rst drwxr-xr-x 11 502 games 36864 Aug 10 21:47 Source drwxr-xr-x 4 502 games 4096 Aug 10 21:47 Templates drwxr-xr-x 240 502 games 12288 Aug 10 21:47 Tests drwxr-xr-x 21 502 games 4096 Aug 10 21:47 Utilities [root@LHRDB cmake-3.9.1]# [root@LHRDB cmake-3.9.1]# ./bootstrap && make && make install --------------------------------------------- CMake 3.9.1, Copyright 2000-2017 Kitware, Inc. and Contributors Found GNU toolchain C compiler on this system is: gcc -std=gnu99 C++ compiler on this system is: g++ -std=gnu++0x Makefile processor on this system is: gmake g++ is GNU compiler g++ has setenv g++ has unsetenv g++ does not have environ in stdlib.h g++ has stl wstring g++ has <ext/stdio_filebuf.h> --------------------------------------------- g++ -std=gnu++0x -I/tmp/mysql5.7sc/cmake-3.9.1/Bootstrap.cmk -I/tmp/mysql5.7sc/cmake-3.9.1/Source -I/tmp/mysql5.7sc/cmake-3.9.1/Source/LexerParser -I/tmp/mysql5.7sc/cmake-3.9.1/Utilities -c /tmp/mysql5.7sc/cmake-3.9.1/Source/cmAddCustomCommandCommand.cxx -o cmAddCustomCommandCommand.o g++ -std=gnu++0x -I/tmp/mysql5.7sc/cmake-3.9.1/Bootstrap.cmk -I/tmp/mysql5.7sc/cmake-3.9.1/Source -I/tmp/mysql5.7sc/cmake-3.9.1/Source/LexerParser -I/tmp/mysql5.7sc/cmake-3.9.1/Utilities -c /tmp/mysql5.7sc/cmake-3.9.1/Source/cmAddCustomTargetCommand.cxx -o cmAddCustomTargetCommand.o 。。。。。。。。。。。。。。 省略 。。。。。。。。。。。。。。。 -- Installing: /usr/local/bin/cmake -- Installing: /usr/local/bin/ctest -- Installing: /usr/local/bin/cpack -- Installing: /usr/local/share/cmake-3.9/include/cmCPluginAPI.h -- Installing: /usr/local/share/cmake-3.9/editors/vim/indent -- Installing: /usr/local/share/cmake-3.9/editors/vim/indent/cmake.vim -- Installing: /usr/local/share/cmake-3.9/editors/vim/syntax -- Installing: /usr/local/share/cmake-3.9/editors/vim/syntax/cmake.vim -- Installing: /usr/local/share/cmake-3.9/editors/emacs/cmake-mode.el -- Installing: /usr/local/share/aclocal/cmake.m4 -- Installing: /usr/local/share/cmake-3.9/completions/cmake -- Installing: /usr/local/share/cmake-3.9/completions/cpack -- Installing: /usr/local/share/cmake-3.9/completions/ctest [root@LHRDB cmake-3.9.1]# which cmake /usr/local/bin/cmake [root@LHRDB cmake-3.9.1]# cmake -version cmake version 3.9.1
|
從新開一個shell並繼續編譯:
[root@LHRDB mysql57]# cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57 \ > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data \ > -DMYSQL_USER=mysql \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ > -DWITH_READLINE=1 \ > -DDOWNLOAD_BOOST=1 \ > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/ CMake Deprecation Warning at CMakeLists.txt:26 (CMAKE_POLICY): The OLD behavior for policy CMP0018 will be removed from a future version of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD.
CMake Deprecation Warning at CMakeLists.txt:32 (CMAKE_POLICY): The OLD behavior for policy CMP0022 will be removed from a future version of CMake. 。。。。。。。。省略部分。。。。。。。。 The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD.
-- INSTALL mysqlclient.pc lib/pkgconfig -- Skipping deb packaging on unsupported platform . -- CMAKE_BUILD_TYPE: RelWithDebInfo -- COMPILE_DEFINITIONS: _GNU_SOURCE;_FILE_OFFSET_BITS=64;HAVE_CONFIG_H;HAVE_LIBEVENT1 -- CMAKE_C_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -- CMAKE_CXX_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -- CMAKE_C_LINK_FLAGS: -- CMAKE_CXX_LINK_FLAGS: -- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -- Configuring done -- Generating done -- Build files have been written to: /usr/local/mysql57sc/mysql57
|
成功。
該過程最慢。。。。。虛擬機約40分鐘。。。。
[root@LHRDB mysql57]# make && make install Scanning dependencies of target abi_check [ 0%] Built target abi_check Scanning dependencies of target INFO_SRC [ 0%] Built target INFO_SRC Scanning dependencies of target INFO_BIN [ 0%] Built target INFO_BIN Scanning dependencies of target zlib [ 0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/compress.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/gzio.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/infback.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/inffast.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/inflate.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/inftrees.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/trees.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/uncompr.c.o [ 0%] Building C object zlib/CMakeFiles/zlib.dir/zutil.c.o 。。。。。。。。。。省略部分。。。。。。。。。。。。 -- Installing: /usr/local/mysql57sc/mysql57/share/fill_help_tables.sql -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_sys_schema.sql -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_test_data_timezone.sql -- Installing: /usr/local/mysql57sc/mysql57/share/mysql_security_commands.sql -- Installing: /usr/local/mysql57sc/mysql57/lib/pkgconfig/mysqlclient.pc -- Installing: /usr/local/mysql57sc/mysql57/bin/mysql_config -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqldumpslow -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqld_multi -- Installing: /usr/local/mysql57sc/mysql57/bin/mysqld_safe -- Installing: /usr/local/mysql57sc/mysql57/share/aclocal/mysql.m4 [root@LHRDB mysql57]# [root@LHRDB mysql57]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rootlhr-Vol00 9.9G 4.7G 4.8G 50% / tmpfs 2.0G 72K 2.0G 1% /dev/shm /dev/sda1 194M 35M 150M 19% /boot /dev/mapper/vg_rootlhr-Vol01 3.0G 1.6G 1.3G 56% /tmp /dev/mapper/vg_rootlhr-Vol03 3.0G 69M 2.8G 3% /home /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57 5.0G 2.7G 2.0G 58% /var/lib/mysql57 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_56 2.0G 1.4G 575M 70% /usr/local/mysql56 /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_55 2.0G 848M 1.1G 45% /usr/local/mysql55 /dev/sr0 3.6G 3.6G 0 100% /media/lhr/cdrom /dev/mapper/vg_mysqlsoft-lv_mysqlsoft_57sc 9.9G 7.2G 2.2G 77% /usr/local/mysql57sc .host:/ 331G 273G 58G 83% /mnt/hgfs |
用了大概7.2G,太費空間了。最後的make和make install大概用了40分鐘,太費時間了。。。。。
注意:MySQL 5.7.6以後的版本初始化數據庫再也不使用mysql_install_db
[root@LHRDB mysql57]# mkdir log [root@LHRDB mysql57]# chown mysql.mysql log [root@LHRDB mysql57]# pwd /usr/local/mysql57sc/mysql57 [root@LHRDB mysql57]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57sc/mysql57 --datadir=/usr/local/mysql57sc/mysql57/data 2017-08-28T08:34:01.250285Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-28T08:34:02.675706Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-28T08:34:02.743783Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-28T08:34:02.847128Z 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: a572bb0e-8bcb-11e7-b92e-000c291823c2. 2017-08-28T08:34:02.848708Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-28T08:34:02.851802Z 1 [Note] A temporary password is generated for root@localhost: N9eYPaqv4q!X |
這裏生成的臨時密碼爲:N9eYPaqv4q!X
修改文件/etc/my.cnf,加入如下內容:
[mysqld573309] basedir=/usr/local/mysql57sc/mysql57 datadir=/usr/local/mysql57sc/mysql57/data socket=/usr/local/mysql57sc/mysql57/mysql.sock log-error=/usr/local/mysql57sc/mysql57/log/mysqld.log user=mysql port=3309 |
[root@LHRDB mysql5719]# echo '' > /usr/local/mysql57sc/mysql57/log/mysqld.log [root@LHRDB mysql5719]# chown mysql.mysql /usr/local/mysql57sc/mysql57/log/mysqld.log [root@LHRDB data]# mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld57 is running MySQL server from group: mysqld56 is running MySQL server from group: mysqld55 is running MySQL server from group: mysqld573309 is not running [root@LHRDB data]# mysqld_multi start 573309 [root@LHRDB data]# mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld57 is running MySQL server from group: mysqld56 is running MySQL server from group: mysqld55 is running MySQL server from group: mysqld573309 is running [root@LHRDB data]# netstat -lntp | grep mysqld tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 12932/mysqld tcp 0 0 :::3307 :::* LISTEN 12858/mysqld tcp 0 0 :::3309 :::* LISTEN 29785/mysqld tcp 0 0 :::3306 :::* LISTEN 12880/mysqld
|
[root@LHRDB data]# mysql -uroot --socket=/usr/local/mysql57sc/mysql57/mysql.sock -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.19
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password=password('lhr'); Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select @@port; +--------+ | @@port | +--------+ | 3309 | +--------+ 1 row in set (0.00 sec)
|
修改密碼也能夠用:update mysql.user set authentication_string=password('lhr') where user='root';
mysql> grant all privileges on *.* to root@'%' identified by 'lhr'; Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from mysql.user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 4 rows in set (0.00 sec)
|
在Windows下遠程登陸:
D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159 -P3309 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.19 Source distribution
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
mysql>
|
[root@LHRDB ~]# service mysqld_multi start WARNING: my_print_defaults command not found. Please make sure you have this command available and in your path. The command is available from the latest MySQL distribution. WARNING: Log file disabled. Maybe directory or file isn't writable? ABORT: Can't find command 'my_print_defaults'. This command is available from the latest MySQL distribution. Please make sure you have the command in your PATH.
|
解決:
編輯文件:/etc/init.d/mysqld_multi,添加:. /etc/profile,或者在文件/etc/init.d/mysqld_multi中加入下面的變量:
MYSQL_HOME=/var/lib/mysql57/mysql5719 PATH=$MYSQL_HOME/bin:$PATH |
CMake Error at cmake/boost.cmake:81 (MESSAGE): You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there, it will download and unpack it (in that directory) for you.** |
解決辦法:
cmake -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/root/mysql-5.7.19/boost/boost_1_59_0/ |
或者在執行cmake命令時加上DOWNLOAD_BOOST和WITH_BOOST參數。
官方文檔:
https://dev.mysql.com/doc/refman/5.7/en/checking-rpm-signature.html
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html
https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
源碼編譯安裝的更多內容:http://blog.itpub.net/26736162/viewspace-2144212/
rpm的安裝方式請參考: