本篇内容介绍了“mysql的源码安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
环境
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的源码安装方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!