mysql-原始碼安裝

fei890910發表於2016-05-20
環境
centos6.7
mysql5.7.12        

一、centos 配置yum

修改centos引數
[root@centos yum.repos.d]# cat CentOS-Media.repo
# CentOS-Media.repo
#  yum --disablerepo=\* --enablerepo=c6-media [command] 
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

---修改引數檔名字
[root@centos yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

[root@centos yum.repos.d]# mkdir /media/cdrom
[root@centos yum.repos.d]# mount /dev/cdrom /media/cdrom
[root@centos yum.repos.d]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       18G  4.9G   12G  30% /
tmpfs                 877M   68K  877M   1% /dev/shm
/dev/sda1             477M   37M  416M   9% /boot
/dev/sr0              3.7G  3.7G     0 100% /media/cdrom

[root@centos cdrom]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * c6-media: 
repo id                                          repo name                                                 status
c6-media                                         CentOS-6 - Media                                          6,575
repolist: 6,575
[root@centos cdrom]# 

二、安裝gcc和cmake
[root@centos soft]# yum -y install gcc*
[root@centos ~]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@centos cmake-3.5.2]# ./configure
[root@centos cmake-3.5.2]# make
[root@centos cmake-3.5.2]# make install
[root@centos cmake-3.5.2]# cmake --version
cmake version 3.5.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@centos cmake-3.5.2]# cd ..

三、新增使用者組,並編譯mysql軟體
[root@centos cmake-3.5.2]# 
[root@centos cmake-3.5.2]# groupadd mysql
[root@centos cmake-3.5.2]# useradd -g mysql mysql
[root@centos cmake-3.5.2]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
[root@centos cmake-3.5.2]# 
[root@centos cmake-3.5.2]# 
cmake . -DCMAKE_INSTALL_PREFIX=/soft/mysql -DMYSQL_DATADIR=/soft/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -
DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/soft/soft/mysql-5.7.12/boost
安裝編譯mysql需要的包
[root@centos Packages]# yum -y install ncurses*
[root@centos mysql-5.7.12]# cmake . -DCMAKE_INSTALL_PREFIX=/soft/mysql -DMYSQL_DATADIR=/soft/data -DDEFAULT_CHARSET=utf8 -
DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/soft/soft/mysql-
5.7.12/boost
[root@centos mysql-5.7.12]# 
[root@centos mysql-5.7.12]# make
Scanning dependencies of target abi_check
[  0%] Built target abi_check
.o
[100%] Linking CXX executable my_safe_process
[100%] Built target my_safe_process
[root@centos mysql-5.7.12]# 
[root@centos mysql-5.7.12]# 
[root@centos mysql-5.7.12]# 
[root@centos mysql-5.7.12]# 
[root@centos mysql-5.7.12]# make install
[  0%] Built target abi_check
[  0%] Built target INFO_SRC
[  0%] Built target INFO_BIN
[  0%] Built target zlib
[  1%] Built target yassl

注意事項:
重新編譯時,需要清除舊的物件檔案和快取資訊。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf

四、初始化mysql資料庫
建立目錄並修改許可權
[root@centos soft]# chown -R root.mysql mysql
[root@centos soft]# chown -R mysql.mysql data
[root@centos soft]# 
[root@centos soft]# 
複製mysql引數檔案
[root@centos support-files]# cp my-default.cnf /etc/my.cnf
[root@centos support-files]# pwd
/soft/mysql/support-files
複製mysql控制檔案
[root@centos support-files]# cp mysql.server /etc/init.d/mysql
[root@centos support-files]# 
---初始化mysql,datadir目錄必須為空,這個版本的mysql可以使用mysqld來初始化mysql
[root@centos bin]# ./mysqld --user=mysql --datadir=/soft/data --initialize
2016-05-17T04:40:23.549193Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --
explicit_defaults_for_timestamp server option (see documentation for more details).
2016-05-17T04:40:23.549253Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used 
with strict mode. They will be merged with strict mode in a future release.
2016-05-17T04:40:23.549260Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2016-05-17T04:40:23.939423Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-05-17T04:40:24.004248Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-05-17T04:40:24.064255Z 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: 7847398f-1be9-11e6-9461-080027604fd8.
2016-05-17T04:40:24.066031Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-05-17T04:40:24.066944Z 1 [Note] A temporary password is generated for root@localhost: h(U-s2(RhCG*
[root@centos bin]# 

五、修改mysql的root密碼
[root@centos data]# service mysql stop
Shutting down MySQL.[  OK  ]
[root@centos data]# 
[root@centos ~]# mysqld_safe --skip-grant-tables&
[1] 18383
[root@centos ~]# 2016-05-17T04:45:34.890822Z mysqld_safe Logging to '/soft/data/centos.err'.
2016-05-17T04:45:34.914605Z mysqld_safe Starting mysqld daemon with databases from /soft/data
[root@centos ~]# 
[root@centos ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.12 Source distribution
Copyright (c) 2000, 2016, 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> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set authentication_string=PASSWORD("root") where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> 
[root@centos ~]# service mysql stop
Shutting down MySQL..2016-05-17T04:48:57.945185Z mysqld_safe mysqld from pid file /soft/data/centos.pid ended
[  OK  ]
[1]+  Done                    mysqld_safe --skip-grant-tables
[root@centos ~]# 
[root@centos ~]# 
[root@centos ~]# 
[root@centos ~]# 
[root@centos ~]# service mysql start
Starting MySQL.[  OK  ]
[root@centos ~]# 

---這個版本的mysql的root密碼需要重新設定
[root@centos ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.12
Copyright (c) 2000, 2016, 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> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> 
mysql> set password='root';
Query OK, 0 rows affected (0.00 sec)
mysql> 
mysql> 
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> 
mysql> 

六、設定mysql預設登陸


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29108064/viewspace-2103981/,如需轉載,請註明出處,否則將追究法律責任。

相關文章