centos7 源码tar.gz安装卸载mysql5.7
网络环境限制,选择了离线源码安装
-
下载mysq对应版本 mysql-5.7.30-el7-x86_64.tar.gz ,并上传到centos;
-
检查是否已安装mysql,确认之前的安装方式使用对应的命令卸载
rpm安装:
rpm -qa|grep -i mysql
yum安装:
yum remove mysql mysql-server mysql-libs mysql-server
源码安装:
find / -name mysql 或者 whereis mysql ,
将找到的文件全部删除 rm -rf 文件路径
删除配置文件:
rm -rf /etc/my.cnf(有的配置文件是my.cnf.back)
rm -rf /root/.mysql_sercret
删除mysql开机自启动服务
chkconfig --list | grep -i mysql
chkconfig --del mysqld // 服务名为你设置时候自己设置的名字 -
创建mysql安装文件夹及用户/用户组
id mysql #查看用户
userdel mysql #删除用户 再使用 id mysql查看
mkdir /usr/local/mysql #创建安装路径
mkdir /usr/local/mysql/data #创建数据文件夹chown -R 777 /usr/local/mysql #授权
chown -R 777 /usr/local/mysql/data #groupadd mysql #创建名为mysql的用户组
useradd -g mysql -d /usr/local/mysql mysql #在用户组下创建用户 -
解压文件
tar -xzvf mysql-5.7.30-el7-x86_64.tar.gz #解压
cd mysql-5.7.30-el7-x86_64
mv * /usr/local/mysql #将文件移到mysql目录 -
编辑安装/启动
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize #进入到mysql安装目录后使用
记事本存储密码:hmd5lsdG&0hU 如图 -
启动mysql
./support-files/mysql.server start
出现上图表示安装成功!接下来就是配置了. -
mysql配置
vi /etc/my.cnf #创建mysql 配置文件 写入以下内容:
[client]
port=3306
default-character-set=utf8
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect=‘SET NAMES utf8’
可以根据自身情况设定 -
设置开机启动mysql服务
# 将启动文件拷贝到/etc/init.d/,重命名为mysqld,并授权.
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld #授权
#检查自启动有没有mysqld
chkconfig --list mysqld #检查
chkconfig --add mysqld #添加mysqld
#设置开机启动
chkconfig mysqld on -
修改mysql密码/设置数据库编码
mysql -u root -p 输入上面记事本记录的密码
出现该问题是因为改命令不在该目录下,做个映射再次进入就好!
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#设置密码
mysql> SET PASSWORD = PASSWORD(‘123456’); #123456可以设置成你的密码
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;# 密码永不过期
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; #刷新
Query OK, 0 rows affected (0.00 sec)
#设置编码
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SET character_set_database = utf8; #设置utf8
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show variables like ‘character%’; #查看编码
±-------------------------±---------------------------------+
| Variable_name | Value |
±-------------------------±---------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
±-------------------------±---------------------------------+
8 rows in set (0.01 sec) -
设置远程连接
mysql> grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option; #此处为远程连接密码 可以和之前的密码不一样
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#如果开启了防火墙开放3306端口
[root@localhost ~]# firewall-cmd --state #查看防火墙状态
running
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启3306端口
success -
卸载mysql
参考2,3条卸载mysql安装文件,配置文件及用户/用户组