MySQL-源码安装方法

2019-07-09 分类:MySQL 阅读(87) 评论(0)

1.下载安装包

wget https://downloads.mysql.com/archives/get/file/mysql-5.6.40.tar.gz

2.安装依赖包

yum install -y gcc gcc-c++ autoconf libaio-devel cmake ncurses-devel

3.解压安装包

tar xf mysql-5.6.40.tar.gz

4.创建用户并进入mysql-5.6.40目录

useradd mysql -r && cd mysql-5.6.40

5.生成cmake

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

意思简介:

#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
#socket文件存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
#使用utf8字符集
-DDEFAULT_CHARSET=utf8 \
#校验规则
-DDEFAULT_COLLATION=utf8_general_ci \
#使用其他额外的字符集
-DWITH_EXTRA_CHARSETS=all \
#支持的存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#禁用的存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默认为禁用)
-DWITH_DEBUG=0

6.编译并安装

make && make install

7.创建软链接

ln -s /application/mysql-5.6.40 /application/mysql

8.拷贝配置文件和启动脚本

cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

9.进入scripts目录并初始化MySQL

cd /application/mysql/scripts && ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

10.添加环境变量

[root@Lisong scripts]# vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"

11.启动MySQL

/etc/init.d/mysqld start

11.1.启动时会出现如下错误-提示没有该目录

11.2.没有目录解决方法

mkdir -p /application/mysql-5.6.40/tmp

11.3.再次启动还是会发现有错误查看错误日志分析为权限问题

11.4.权限问题解决方法

chown mysql.mysql /application/mysql* -R

12.再次启动MySQL一切正常

[root@Lisong ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 

13.停止MySQL

/etc/init.d/mysqld stop

14.编辑MySQL启动脚本

[root@Lisong ~]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

15.设置MySQL密码

mysqladmin -uroot -p password "123"

会提示输入旧密码-输入密码即可

您可能也喜欢:

MySQL-SELECT语句详解

在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句,这条语句用于查看一张表中的所有内容,而 SELECT 与各种限制条件关键词搭配使用,具有各种丰富的功能 SELECT 语句基本格式:SELECT 要查询的列名 FROM 表名字 WHERE 限制条件; 如果要查询表...

more

MySQL建表详解

MySQL建表语句 create table fujieace( id int(10) primary key auto_increment comment '设置主键自增', email varchar(20) not null comment '邮箱', name varchar(20...

more

MySQL约束

什么是约束? 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性 比如,规定一个用户的用户名不能为空值且没有重复的记录,这就是一种约束规则 MySQL中常用的约束: 约束类型: 主键 默认值 唯一 外键 非空 关键字: primary key de...

more

评论&留言
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称
邮箱
网站

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册