mysql的源码安装方法

本篇内容介绍了“MySQL的源码安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联是专业的根河网站建设公司,根河接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行根河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

环境
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的源码安装方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文名称:mysql的源码安装方法
当前URL:http://azwzsj.com/article/jhjeoi.html