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;