ununtu15.10源码编译安装mysql5.7.11
来源:互联网 发布:做动画片用什么软件 编辑:程序博客网 时间:2024/05/17 04:42
本文适合任何linux系统,以Ubuntu15.10为例
官方下载mysql的源码mysql-5.7.11.tar.gz
http://downloads.mysql.com/archives/get/file/mysql-5.7.11.tar.gz
推荐使用下面的链接includes Boost Headers
http://downloads.mysql.com/archives/get/file/mysql-boost-5.7.11.tar.gz
因为如果你使用的上面的链接下过来,编译的时候还是需要在线下载boost
下载之后把源码解压到一个目录,并且准本用于编译,我的位置在/opt/src/mysql-5.7.11
一 编译准备工作
下载编译的linux库和编译工具
Centos系列方法
yum -y install gcc gcc-c++ bison cmake ncurses perlyum -y install make bison-devel ncurses-develUbuntu方法
sudo apt-get install make cmake gcc g++ bison libncurses5-dev设定一个安装mysql的目录,并创建data和boost目录(注意从现在起使用root权限操作)
sudo mkdir -pv /usr/local/mysql /usr/local/mysql/data /usr/local/mysql/boost
二 编译三部曲:
(1)cmake一下是必须的cmake设置
sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql/boost(2)编译
sudo make(3)安装
sudo make install如果make中失败可以使用如下命令
sudo make cleansudo rm -f CMakeCache.txtsudo rm -rf /etc/my.cnf然后继续make,make过程根据个人电脑配置决定。时间一般要十多分钟,注意查看有没有error等信息
三 安装完成后开始配置 mysql
(1)新建运行Mysql的用户和组sudo groupadd mysqlsudo useradd -g mysql mysql(2)设置Mysql安装目录的权限
cd /usr/local/mysqlsudo chown -R mysql:mysql ./(3)建立配置文件
cp support-files/my-default.cnf /etc/my.cnfsudo chown mysql:mysql /etc/my.cnf修改配置文件:
sudo vi /etc/my.cnf[client]port = 3306socket = /usr/local/mysql/data/mysql.sock[mysqld]port = 3306socket = /usr/local/mysql/data/mysql.sockbasedir = /usr/local/mysqldatadir = /usr/local/mysql/data(4)创建环境变量
vim /etc/profilePATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH(5)初始化数据库
cd /usr/local/mysql## mysql5.5-5.6sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/## mysql5.7sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意mysql5.7初始化与之前有所不同,初始化之前先清空或转移mysql/data下的数据,初始化之后mysql生成一个临时密码,用于第一次登陆
这个密码在初始化日志中。如下
hadoop@hadoop:mysql$ sudo cp support-files/my-default.cnf /etc/my.cnfhadoop@hadoop:mysql$ sudo chown mysql:mysql /etc/my.cnfhadoop@hadoop:mysql$ sudo vi /etc/my.cnfhadoop@hadoop:mysql$ sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 2016-05-15T11:19:54.773262Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-05-15T11:19:54.773313Z 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-15T11:19:54.773321Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.2016-05-15T11:19:56.261165Z 0 [Warning] InnoDB: New log files created, LSN=457902016-05-15T11:19:56.556267Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2016-05-15T11:19:56.729563Z 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: f4462810-1a8e-11e6-898c-08606e7b7019.2016-05-15T11:19:56.762610Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2016-05-15T11:19:56.763408Z 1 [Note] A temporary password is generated for root@localhost: oCiiyEkWl1&+
这里生成的临时密码是 oCiiyEkWl1&+在mysql5.7使用一下方法为root用户设置密码
启动mysq,启动方法看下文,执行(这里的password ‘root’是新密码,后面的-p'oCiiyEkWl1&+'是临时密码
bin/mysqladmin -h localhost -u root password 'root' -p'oCiiyEkWl1&+'mysqladmin: [Warning] Using a password on the command line interface can be insecure.Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.##创建新密码成功后,即可使用新密码登陆 root@hadoop:mysql# bin/mysql -uroot -pupdate mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
四 mysql启动
方法1:
直接启动
bin/mysqld_safe &检查MySQL服务是否启动:
ps -ef |grep mysql
hadoop@hadoop:mysql$ sudo bin/mysqld_safe &[1] 14146hadoop@hadoop:mysql$ 2016-05-15T11:26:02.900684Z mysqld_safe Logging to '/usr/local/mysql/data/hadoop.err'.2016-05-15T11:26:02.926254Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data2016-05-15T11:26:04.880224Z mysqld_safe mysqld from pid file /usr/local/mysql/data/hadoop.pid endedps -ef |grep mysqlhadoop 14320 25013 0 19:26 pts/20 00:00:00 grep --color=auto mysqlhadoop 24592 23672 0 17:56 ? 00:00:52 gedit /home/hadoop/Desktop/MyDoc/mysqlroot 24679 24555 0 18:00 ? 00:00:00 /bin/sh bin/mysqld_safemysql 24840 24679 0 18:00 ? 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/hadoop.err --pid-file=/usr/local/mysql/data/hadoop.pid --socket=/usr/local/mysql/data/mysql.sock --port=3306[1]+ 已完成 sudo bin/mysqld_safehadoop@hadoop:mysql$方法2:
通过服务启动
添加服务,复制启动脚本到/etc/init.d目录:
cd /usr/local/mysql/cp support-files/mysql.server /etc/init.d/mysqldsudo chmod 755 /etc/init.d/mysqldsudo /etc/init.d/mysqld startsudo /etc/init.d/mysqld stop## 或者sudo service mysqld startsudo service mysqld stop## 检查MySQL服务是否启动:ps -ef |grep mysqld
(注:)在这里可能有些ubuntu在mysql5.7启动会出现一下错误
Unit mysqld.service failed to load: No such file or directory.
首先确认/etc/init.d/mysqld以及权限没有错误,然后建议安装完mysql重启一下机器,如果还不行,执行如下
systemctl enable mysqld.servicesystemctl start mysqld.service##或<pre name="code" class="plain">systemctl enable mysqldsystemctl start mysqld
再尝试,或者重启后在启动尝试
五 用户和密码
修改root密码
mysql -h127.0.0.1 -uroot -pupdate mysql.user set password=password("mysqldba") where user='root';flush privileges;设置权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;flush privileges;测试一下:
select now(),user(),version();show databases;
ubuntu设置mysql开机自启动设置和取消
sudo update-rc.d -f mysqld defaultssudo update-rc.d -f mysqld remove
0 0
- ununtu15.10源码编译安装mysql5.7.11
- Mysql5.5.22源码编译安装
- Mysql5.5.22源码编译安装
- Mysql5.5.22源码编译安装
- 源码编译安装 MySQL5.1.68
- mysql5.6源码编译安装
- 源码编译安装MySQL5.6.16
- 源码编译安装mysql5.5.33
- MySQL5.6源码编译安装
- 源码编译安装 Mysql5.5
- 源码编译 安装mysql5.5.50
- MySQL5.5.53 源码编译安装
- mysql5.5源码编译安装
- CentOS源码编译安装Mysql5.5
- RedHat/CentOS源码编译安装MySQL5.6.12
- centos6.5源码编译安装mysql5.6.17
- 源码编译安装MySQL5.6.12详细过程
- MySQL5.6.12源码编译安装详细过程
- HDU--1013Digital Roots
- 储存应用首选项
- static关键字
- 在eclipse中android NDK开发环境的搭建
- s5pv210 datasheet_system_VECTORED INTERRUPT CONTROLLER
- ununtu15.10源码编译安装mysql5.7.11
- POJ 3253 STL优先队列
- 程序员赢在规划
- Java ConcurrentModificationException异常原因和解决方法
- 基于flex和bison的C语言代码分析器统计圈复杂度程序设计图
- Android Activity,Service(含IntentService)的生命周期详解
- ios 架构设计 MVVM
- Android 自定义音量控件
- 移动硬盘分区格式变为RAW的解决办法