共計 6615 個字符,預計需要花費 17 分鐘才能閱讀完成。
本篇內容介紹了“mysql 的源碼安裝方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
環境
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 的源碼安裝方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!