Linux下mysql-5.7.21源码安装

1.创建组群mysql 和创建mysql账户并指定mysql群组

groupadd mysql

useradd -r -g mysql mysql

2. 预制一些目录

rm -rf /opt/mysql  

mkdir -p /opt/mysql/download  # 存放mysql-5.7.21.tar.gz等安装包

mkdir -p /opt/mysql/install  # 存放安装后的软件

mkdir -p /opt/mysql/data  # 存放数据

mkdir -p /opt/mysql/log  # 存放日志

chown -R mysql:mysql /opt/mysql #递归修改整个目录属主属组

3.解压

# 假设下载的mysql-boost-5.7.21.tar.gz放到了/opt/mysql下

cp /opt/mysql/mysql-boost-5.7.21.tar.gz /opt/mysql/download/mysql-boost-5.7.21.tar.gz

cd /opt/mysql/download/

tar -zxf mysql-boost-5.7.21.tar.gz

我源码安装时提示缺少下面两个库,我在这里直接先安装了,不缺可以不用执行下面两步

4.Curses库安装

cp /opt/mysql/ncurses-5.7.tar.gz /opt/

cd /opt

tar -xzf ncurses-5.7.tar.gz

cd ncurses-5.7

#执行命令

./configure --with-shared --without-debug --without-ada --enable-overwrite \

--build=aarch64-unknown-linux  

make

#出现上述错误不用处理 直接执行下面命令  

make install

5.rpcgen库安装

cp /opt/mysql/rpcsvc-proto-1.4.tar.gz /opt/

cd /opt

tar -xzf rpcsvc-proto-1.4.tar.gz

cd rpcsvc-proto-1.4

./configure

make

make install

#出错删除

make clean

rm -r CMakeCache.txt 

6.预编译

cd mysql-5.7.21/

cmake \

-DCMAKE_INSTALL_PREFIX=/opt/mysql/install \

-DMYSQL_UNIX_ADDR=/opt/mysql/install/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/opt/mysql/data \

-DMYSQL_TCP_PORT=3306 \

-DWITH_BOOST=boost # 从cmake到这里是一行命令,复制的时候一起复制

7.预编译成功后执行

make -j8

make install

#拷贝my.cnf

cp /opt/my.cnf  /etc/

# 安装完成修改安装目录的所有者和所属组

chown -R mysql:mysql /opt/mysql

chgrp -R mysql /opt/mysql

# 初始化,生成一个临时的mysql root用户密码

/opt/mysql/install/bin/mysqld --initialize --user=mysql

# A temporary password is generated for root@localhost: Br-)u/%:=2:9

# 启动mysql按回车回到命令行

/opt/mysql/install/support-files/mysql.server start  

/opt/mysql/install/bin/mysql -u root -p

Enter Password: # 这里输入刚才生成的密码

#修改root密码为123456 flush privileges

set password for root@localhost = password('123456');

# 目前不太方便,系统没有mysql这个命令,没有用设置开机启动。

#退出mysql命令行  

quit

# 先停止mysql

/opt/mysql/install/support-files/mysql.server stop;

# 启动mysql服务,注册成systemd服务

cp /opt/mysql/install/support-files/mysql.server /etc/init.d/mysqld

#这一步自动注册成systemd服务了,可以使用service管理mysql了

/etc/init.d/mysqld start

chmod +x /etc/init.d/mysqld

#添加mysql自启

systemctl enable mysqld

systemctl start mysqld

systemctl stop mysqld

systemctl status mysqld

查看服务 enabled 已自启动

systemctl is-enabled mysqld

#刷新

systemctl daemon-reload  

# 添加mysql、mysqldump、mysqlpump等一系列命令

vim /etc/profile

# 文件末尾追加

export PATH=$PATH:/opt/mysql/install/bin

# 验证mysql命令

source /etc/profile

mysql -u root -p

Enter password: 123456

# 重启系统

reboot

#查看是否已自启

systemctl status mysqld

#登录mysql

mysql -u root -p

密码:123456

8.mysql设置远程连接

#登录 mysql -u root -p

#进入mysql库  use mysql;

#创建用户时出现这个提示注销/etc/my.cnf 中skip-grant-tables 并重启服务

#创建用户

 create user 'root'@'%' identified by '123456'

#给权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

#查询信息

use mysql;

select user,host from user;

#刷新本次结果

flush privileges;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值