CentOS 7.4 環境下原始碼編譯(多例項)安裝 Mysql 5.7.26
一、軟體安裝
1. 安裝必要的軟體依賴
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make
2、下載mysql原始碼包
mkdir /software cd /software wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26.tar.gz
檢視下載包:
[root@localhost software]# ls mysql-5.7.26.tar.gz
3、解壓mysql原始碼包
tar -zxvf mysql-5.7.26.tar.gz
3、配置編譯mysql原始碼包
進入解壓後的目錄,為了保持原始碼乾淨,新建子目錄 yunxiaochong,在子目錄下編譯
[root@localhost software]# ls mysql-5.7.26 mysql-5.7.26.tar.gz [root@localhost software]# cd mysql-5.7.26/ [root@localhost mysql-5.7.26]# mkdir yunxiaochong [root@localhost mysql-5.7.26]# cd yunxiaochong/
cmake配置:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_SSL=bundled \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/tmp
注:
如果編譯出現錯誤,請先刪除CMakeCache.txt後,再重新編譯:
rm -rf CMakeCache.txt
如果出現下面的提示就表示成功生成了編譯環境:
-- Configuring done
-- Generating done
編譯:
make -j 10
安裝:
make instal
二、資料庫安裝
1、建立使用者
1
2
|
groupadd mysql
|
2、建立目錄,並修改目錄屬主和新增環境變數
mkdir -p /data/mysql/{3306,3307}/{data,log}
chown -R mysql:mysql /data/mysql/ chown -R mysql:mysql /usr/local/mysql/
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile source /etc/profile
3、建立配置檔案
3306
vim /data/mysql/3306/my3306.cnf
內容如下:
[mysqld] basedir=/usr/local/mysql datadir=/data/mysql/3306/data port=3306 socket=/data/mysql/3306/mysql3306.sock character-set-server=utf8 log-error=/data/mysql/3306/log/error3306.log pid-file=/data/mysql/3306/mysqld3306.pid
3307
vim /data/mysql/3307/my3307.cnf
內容如下:
[mysqld] basedir=/usr/local/mysql datadir=/data/mysql/3307/data port=3307 socket=/data/mysql/3307/mysql3307.sock character-set-server=utf8 log-error=/data/mysql/3307/log/error3307.log pid-file=/data/mysql/3307/mysqld3307.pid
4、資料庫初始化
(1) 3306
1
|
mysqld --defaults-
file
=
/data/mysql/3306/my3306
.cnf --initialize --user=mysql
|
(2) 3307
1
|
mysqld --defaults-
file
=
/data/mysql/3307/my3307
.cnf --initialize --user=mysql
|
5、資料庫啟動
( 1) 3306
cd /usr/local/mysql/bin ./mysqld_safe --defaults-file=/data/mysql/3306/my3306.cnf --user=mysql &
(2)3307
cd /usr/local/mysql/bin ./mysqld_safe --defaults-file=/data/mysql/3307/my3307.cnf --user=mysql &
6、獲取初始密碼
[root@localhost bin]# less /data/mysql/3307/log/error3307.log|grep 'A temporary password'
2019-07-22T02:04:41.482707Z 1 [Note] A temporary password is generated for root@localhost: Kjipuugr0:0v
登入報錯:
[mysql@localhost ~]$ mysql -uroot -P3306 -S /data/mysql/3307/mysql3307.sock -p
Enter password:
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
解決方法
:
(1)先關閉資料庫例項,由於不能登入,所以只能有kill -9 執行殺掉程式。
(2)再配置檔案中,新增選項
skip-grant-tables
(3)重啟資料庫例項
(4)免密碼登入:
mysql -uroot -P3306 -S /data/mysql/3306/mysql3306.sock
(5)修改密碼過期策略:
MySQL [none]>use mysql MySQL [mysql]> update user set password_expired='N' where user='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
(6)重啟資料庫例項
[mysql@localhost ~]$ mysqladmin -uroot -S /data/mysql/3306/mysql3306.sock shutdown cd /usr/local/mysql/bin
./mysqld_safe --defaults-file=/data/mysql/3306/my3306.cnf --user=mysql &
7、建立使用者
MySQL [(none)]> create USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Yxc3307'; Query OK, 0 rows affected (0.00 sec) MySQL [(none)]> grant all privileges on *.* to 'root'@'%'; Query OK, 0 rows affected (0.00 sec)
說明:
MySQL8.0之前的版本密碼加密規則:mysql_native_password,
MySQL8.0密碼加密規則:caching_sha2_password
8、navicat 登入
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69915315/viewspace-2651281/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS 7.4 環境下原始碼編譯安裝 postgreSQL 11.4CentOS原始碼編譯SQL
- CentOS 6.7下MySQL 5.6原始碼編譯安裝CentOSMySql原始碼編譯
- CentOS 6.7下原始碼編譯安裝MySQL 5.7.5CentOS原始碼編譯MySql
- CentOS6.9原始碼編譯安裝nginx+php7+mysql環境CentOS原始碼編譯NginxPHPMySql
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- Linux環境下原始碼編譯方式安裝MySQL5.1(3)Linux原始碼編譯MySql
- Linux環境下原始碼編譯方式安裝MySQL5.1(2)Linux原始碼編譯MySql
- Linux環境下原始碼編譯方式安裝MySQL5.1(1)Linux原始碼編譯MySql
- CentOS 7 原始碼編譯安裝 Mysql 5.7CentOS原始碼編譯MySql
- CentOS 6.5 原始碼編譯安裝 MySQL 5.5 5.6CentOS原始碼編譯MySql
- Linux環境PostGIS原始碼編譯安裝Linux原始碼編譯
- Android 原始碼的下載和編譯環境的安裝及編譯Android原始碼編譯
- Centos7下原始碼編譯安裝apacheCentOS原始碼編譯Apache
- Mysql5.6 for Centos6.5原始碼編譯安裝MySqlCentOS原始碼編譯
- [環境搭建] 透過原始碼編譯安裝 Redis原始碼編譯Redis
- centos下編譯lnmp環境CentOS編譯LNMP
- CentOS5.5下快速編譯安裝最新的LAMP環境CentOS編譯LAMP
- mysql多例項安裝MySql
- centos7環境下二進位制編譯安裝ffmpegCentOS編譯
- 原始碼編譯安裝MySQL 5.7.9原始碼編譯MySql
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- CentOS 6.4下編譯安裝MySQL 5.6.14CentOS編譯MySql
- Linux 環境下編譯安裝 RedisLinux編譯Redis
- mysql 5.7 多例項安裝MySql
- 從零搭建LNMP環境(一) - 編譯原始碼安裝PHPLNMP編譯原始碼PHP
- openEuler arm 環境原始碼編譯mysql 8.0.37原始碼編譯MySql
- 編譯安裝LAMP環境編譯LAMP
- MySQL 5.6原始碼編譯安裝流程MySql原始碼編譯
- RHEL5u3環境下編譯安裝MySQL Proxy 0.8.1編譯MySql
- Centos 7.6 下Mysql8.0.16編譯安裝CentOSMySql編譯
- 初始化編譯環境 下載原始碼編譯原始碼
- Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)Linux原始碼編譯GC
- MySQL5.7.17原始碼編譯安裝時的注意事項MySql原始碼編譯
- CentOS 下編譯安裝 NginxCentOS編譯Nginx
- CentOS 下編譯安裝 apacheCentOS編譯Apache
- Centos 下編譯安裝RedisCentOS編譯Redis
- Linux下原始碼編譯方式安裝MySQL5.5Linux原始碼編譯MySql
- CentOS下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 原始碼編譯安裝CentOSNginxPHPMySql原始碼編譯