源码安装mysql5.7

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

Linux源码安装Mysql5.7
初始化数据库,连接数据库报错


提示:以下是本篇文章正文内容,下面案例可供参考

一、下载MySQL安装包到/usr/local/software下

cd /usr/local/software
wget-c https://downloads.mysql.com/archives/get/p/23/file/mysql-test-5.7.36-linux-glibc2.12-x86_64.tar.gz

二、将mysql安装到/usr/local/mysql-5.7.36下

解压
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local
移动
mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.36

三、新建data目录

代码如下(示例):

mkdir /usr/local/mysql-5.7.36/data/mysql

四、新建mysql用户、mysql用户组

创建mysql用户组

groupadd mysql

创建Mysql用户

useradd mysql -g mysql

五、将/usr/local/mysql-5.7.36的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql-5.7.36

六、初始化mysql

/usr/local/mysql-5.7.36/bin/mysqld --user=mysql --basedir=/usr/local/mysql-5.7.36/ --datadir=/usr/local/mysql-5.7.36/data  --initialize

#如果有警告子类的忽略就行,只要没有error或者faille就代表初始化成功了
#如果出现以下错误,则执行下面的命令来安装numactl,然后再重新执行上面的mysql命令

错误样例

/usr/local/mysql-5.7.36/bin/mysqld: err while loading shared libraries: libnuma.so.1:cannot open shared object file: No such or directory

安装numactl

yum -y install numactl

**注意初始化的时候最后有一行 A temporary password is generated for root@localhost: TyAtzkD,#4K6 TyAtzkD,#4K6:为数据库密码后面要用**

七、编辑/etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
#设置mysql的安装目录
basedir =/usr/local/mysql-5.7.36
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.36/data/mysql
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
character_set_server=utf8mb4
#日志存放目录
log-error = /usr/local/mysql-5.7.36/data/mysql/mysqld.log
pid-file = /usr/local/mysql-5.7.36/data/mysql/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
default-storage-engine=INNODB
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G
transaction-isolation=READ-COMMITTED

八、开启服务

#将mysql加入服务
cp /usr/local/mysql-5.7.36/support-files/mysql.server /etc/init.d/mysql
#开机自启
chkconfig mysql on
#启动mysql服务
service mysql start

九、设置密码

# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
/usr/local/mysql-5.7.36/bin/mysql -u root -p
输入密码:TyAtzkD,#4K6
# 操作mysql数据库
>use mysql;
# 修改密码
>set password=password("root123456");
>flush privileges;
>exit;

十、连接数据库的时候会报错

报错样例

Host ‘192.168.x.1‘ is not allowed to connect to this MySQL server

解决方案:

mysql>update user set host =%’ where user = ‘root’;
mysql>flush privileges;
mysql>select host, user from user;

在这里插入图片描述

总结

姨妈型文档,全网唯一。希望可以解决你遇到的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值