赞
踩
根据对应的系统位数,选择需要下载的文件。
查看系统位数
getconf LONG_BIT
官网地址:MySQL :: Download MySQL Community Server (Archived Versions)
通过Linux命令下载:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-对应版本,位数.tar.gz
- #修改为自己需要版本
- wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
推荐命令下载 如果使用命令下载可以跳过第二步的第一步
tar -xvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.38-linux-glibc2.12-x86_64/ mysql
也可留着安装成功后删
rm -f mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
- # 创建MySQL用户组
- groupadd mysql
- # 添加MySQL用户并添加到MySQL用户组
- useradd -r -g mysql mysql
mkdir data
chown -R mysql:mysql /usr/local/mysql/
vim /etc/my.cnf
复制的时候看清安装目录和数据存放目录是否和你的一致
- [mysqld]
- # 设置3306端口
- port=3306
- # 设置mysql的安装目录
- basedir=/usr/local/mysql
- # 设置mysql数据库的数据的存放目录
- datadir=/usr/local/mysql/data
- # 允许最大连接数
- max_connections=200
- # 允许连接失败的次数。
- max_connect_errors=10
- # 服务端使用的字符集默认为utf8mb4
- character-set-server=utf8mb4
- # 创建新表时将使用的默认存储引擎
- default-storage-engine=INNODB
- # 默认使用“mysql_native_password”插件认证
- #mysql_native_password
- default_authentication_plugin=mysql_native_password
- [mysql]
- # 设置mysql客户端默认字符集
- default-character-set=utf8mb4
- [client]
- # 设置mysql客户端连接服务端时默认使用的端口
- port=3306
- default-character-set=utf8mb4

执行命令MySQL目标下bin目录下任选一个都行
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --initialize
命令说明:
- –defaults-file:默认配置文件地址
- –datadir:是刚刚创建的data数据目录(不要闭着眼复制!你的目录可能跟我不一样!)
- –basedir:是MySQL安装目录(你的目录名字可能跟我不一样,我的是mysql,注意注意!!!)
- –user:刚刚创建的mysql用户
红款中的密码一会登录(./mysql -u root -p )的时候要用到
如何初始化报错如下所示
解决方案:
yum -y install numactl
权限不改也行
- chown -R root .
- chown -R mysql data/
/usr/local/mysql/support-files/mysql.server start
- # 切换目录
- cd /usr/local/mysql/bin
- # 登录命令
- ./mysql -u root -p
- #修改密码
- set password for root@localhost=password('我的密码');
- #刷新权限
- FLUSH PRIVILEGES;
SET PASSWORD = PASSWORD('密码'); 可以不用执行,当时为测试设置了个简单的
执行下面命令也可以设置密码:二选其一
# 设置密码
SET PASSWORD = PASSWORD('ok');
# 设置用户的访问密码用不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#刷新权限
FLUSH PRIVILEGES;
- # 访问mysql库
- use mysql
- # 修改root用户能在任何host访问(授权远程连接)
- update user set host = '%' where user = 'root';
- # 刷新
- FLUSH PRIVILEGES;
- ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
-
- ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
-
- service mysql restart
- #赋予权限
- chmod +x /etc/init.d/mysql
-
- #添加服务
- chkconfig --add mysql
-
- #显示服务列表
- chkconfig --list
如上图所示,如果是2,3,4,5 都是开启的话则成功。
如果不是,可运行以下命令开启:
chkconfig --level 2345 mysql on
reboot
ps -aux | grep mysql
连接时出现 2002错误代码,可能是防火墙没有开放3306端口。
也可以将防火墙关闭,不建议这样
- # 开启端口3306
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- # 重启防火墙
- firewall-cmd --reload
- # 查看已经开放的端口
- firewall-cmd --list-ports
- 1.查看防火墙状态
- 查看防火墙状态 systemctl status firewalld
- 开启防火墙 systemctl start firewalld
- 关闭防火墙 systemctl stop firewalld
- 开启防火墙 service firewalld start
- 若遇到无法开启
- 先用:systemctl unmask firewalld.service
- 然后:systemctl start firewalld.service
-
- 2.查看对外开放的端口状态
- 查询已开放的端口 netstat -ntulp | grep 端口号:可以具体查看某一个端口号
- 查询指定端口是否已开 firewall-cmd --query-port=666/tcp
- 提示 yes,表示开启;no表示未开启。
-
- 3.对外开发端口
- 查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp
- 添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
- 重载入添加的端口:firewall-cmd --reload
- 查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp
- 移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。