centos7安装mysql5.7
1下载mysql
1.0下载地址及办版本
链接: 点我官网下载
https://dev.mysql.com/downloads/mysql/5.7.html
如果不知道自己linux的版本可以通过这个命令去查下
[root@localhost ~]# uname -a
[root@localhost ~]# uname -m//这个直接返回
我的为i386 就是32位的,这里注意下载的版本是否符合
解释下:
1、i386通常被用来作为对Intel(英特尔)32位微处理器的统称;
2、i386的子集包含i686,i686适用于Pentium Pro,也适用于K7架构的Athlon;
3、x86-64,又称“AMD64”或“x64”,是一种64位元的电脑处理器架构。它是建基于现有32位元的x86架构,由AMD公司所开发
1.1检查Linux是否自带MySQL
[root@localhost ~]# rpm -qa | grep mysql
如果查询出来有结果返回就用下面的命令+空格+查询结果把自带的给卸载
[root@localhost ~]# rpm -e --nodeps
1.2查询所有mysql文件或目录
[root@localhost ~]# whereis mysql
[root@localhost ~]# find / -name mysql
如果有,就执行rm -rf xxxx
[root@localhost ~]# rm -rf xxxx
1.3检查mysql用户组或用户
若没有,则创建
[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd | grep mysql
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql
2安装
2.0解压
[root@localhost soft]# tar -zxvf mysql-5.7.34-linux-glibc2.12-i686.tar.gz
2.1解压后移动目录
[root@localhost soft]# mv mysql-5.7.34-linux-glibc2.12-i686 /usr/local/mysql
2.2在/usr/local/mysql目录下创建data目录并赋权限
[root@localhost mysql]# mkdir mysql/data
//我这里给了最高的权限,根据自己情况自行调整
[root@localhost mysql]# chmod -R 777 mysql/
2.3编译安装并初始化mysql
注意位置
// /usr/ local/mysql/lib/
[root@localhost lib]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
2.4修改配置文件my.cnf
[root@localhost ~]# find / -name my.cnf
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1
#跳过权限表,添加该命令
#skip-grant-tables
2.5启动mysql服务
[root@localhost ~]# /usr/local/mysql/support-files/mysql.server start
2.6添加软连接
[root@localhost ~]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost ~]# service mysql restart
2.7登录mysql 修改密码
[root@localhost ~]# mysql -u root -p
密码为临时生成的密码
mysql> set password for root@localhost=password('root');
2.8开放远程连接
mysql> use mysql #访问mysql库
mysql> update user set host = '%' where user = 'root';
#使root能再任何host访问
mysql> FLUSH PRIVILEGES; #刷新
2.9查看防火墙
[root@localhost ~]# systemctl status firewalld
//running 状态即防火墙已经开启
//dead 状态即防火墙未开启
[root@localhost ~]# systemctl start firewalld
//开启防火墙,没有任何提示即开启成功
[root@localhost ~]# service firewalld start
//centos7.3 上述方式可能无法开启,可以先#systemctl unmask firewalld.service
//然后 # systemctl start firewalld.service
[root@localhost ~]# systemctl stop firewalld //关闭防火墙
2.10查看端口
[root@localhost ~]# netstat -an|grep 3306
//查看端口
[root@localhost ~] # firewall-cmd --zone=public --query-port=3306/tcp
//查看端口是否打开
[root@localhost ~] #firewall-cmd --zone=public --add-port=3306/tcp --permanent
//打开端口
[root@localhost ~] # firewall-cmd --reload
//刷新
[root@localhost ~] # firewall-cmd --zone=public --query-port=3306/tcp
//查看端口是否打开
2.11设置开机启动
[root@localhost ~] # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
//将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost ~] # chmod +x /etc/init.d/mysqld
//赋予可执行权限
[root@localhost ~] # chkconfig --add mysqld
//添加服务
[root@localhost ~] # chkconfig --list
//显示服务列表
然后呢,去远程连接试试吧,欢迎补充!!