第一步下载
https://dev.mysql.com/downloads/mysql/
第二步 查看是否安装过mysql,有就卸载掉
检查是否已经安装过mysql,执行命令
[root@izwz90piq1mkfnzxrearmcz local]# rpm -qa | grep mysql
mysql-libs-5.1.73-5.el6_6.x86_64
[root@izwz90piq1mkfnzxrearmcz local]#
从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令
[root@izwz90piq1mkfnzxrearmcz local]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
再次执行查询命令,查看是否删除
[root@izwz90piq1mkfnzxrearmcz local]# rpm -qa | grep mysql
[root@izwz90piq1mkfnzxrearmcz local]#
查询所有Mysql对应的文件夹, 删除相关文件夹
[root@izwz90piq1mkfnzxrearmcz local]# find / -name mysql
/usr/local/mysql
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /usr/local/mysql
[root@izwz90piq1mkfnzxrearmcz local]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /usr/bin/mysql /usr/include/mysql
验证是否删除完毕
[root@izwz90piq1mkfnzxrearmcz local]# whereis mysql
mysql:
[root@izwz90piq1mkfnzxrearmcz local]# find / -name mysql
[root@izwz90piq1mkfnzxrearmcz local]#
删除配置文件:
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /etc/my.cnf
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /etc/init.d/mysql
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /etc/init.d/mysqlld
[root@izwz90piq1mkfnzxrearmcz local]# rm -rf /etc/init.d/mysqld
删除mysql用户和用户组(如果有进程,杀掉在删)
[root@izwz90piq1mkfnzxrearmcz local]# userdel mysql
userdel:user mysql is currently used by process 1772
[root@izwz90piq1mkfnzxrearmcz local]# kill -9 1772
[root@izwz90piq1mkfnzxrearmcz local]# userdel mysql
[root@izwz90piq1mkfnzxrearmcz local]#
卸载完毕!
安装mysql
解压mysql安装包
[root@izwz90piq1mkfnzxrearmcz mysql]# cd /usr/local
[root@izwz90piq1mkfnzxrearmcz local]# tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
文件重命名
[root@izwz90piq1mkfnzxrearmcz local]# ls
aegis include mysql-8.0.20-linux-glibc2.12-x86_64 redis-5.0.8.tar.gz
bin lib mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz sbin
etc lib64 nginx-1.18.0.tar.gz share
games libexec redis-5.0.8 src
[root@izwz90piq1mkfnzxrearmcz local]# mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
[root@izwz90piq1mkfnzxrearmcz local]#
在/usr/local/mysql目录下创建data目录
[root@izwz90piq1mkfnzxrearmcz local]# mkdir /usr/local/mysql/data
[root@izwz90piq1mkfnzxrearmcz local]#
添加用户组:mysql、用户:mysql,并将其添加到mysql用户组中
[root@izwz90piq1mkfnzxrearmcz local]# groupadd mysql
[root@izwz90piq1mkfnzxrearmcz local]# useradd -r -g mysql mysql
[root@izwz90piq1mkfnzxrearmcz local]#
useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
useradd -g参数表示把mysql用户添加到mysql用户组中。
检查 libaio
[root@izwz90piq1mkfnzxrearmcz local]# rpm -qa|grep libaio
libaio-devel-0.3.109-13.el7.x86_64
libaio-0.3.109-13.el7.x86_64
[root@izwz90piq1mkfnzxrearmcz local]#
未安装如下命令安装:
[root@izwz90piq1mkfnzxrearmcz local]# yum search libaio
配置my.cnf文件(编辑)
[root@izwz90piq1mkfnzxrearmcz local]# vi /etc/my.cnf
写入配置如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/tmp/mysql.sock
[mysqld]
# skip-name-resolve
# 设置3306端口
port=3306
socket=/tmp/nysq1.sock
# 是否需要密码登录
# skip-grant-tables
# 设置mysq1的安装目录
basedir=/usr/local/mysql
# 设置mysq1数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的Iatin1字符秀
character-set-server=utf8
# 创建新表时将使用的默认存储引随
default-storage-engine=INNODB
# lover_case_table_name=1
max_alloved_packet=16M
default-authentication-plugin=mysql_native_password
将mysql目录的所属用户和组改为mysql
[root@izwz90piq1mkfnzxrearmcz local]# cd mysql
[root@izwz90piq1mkfnzxrearmcz mysql]# chown -R mysql:mysql ./
[root@izwz90piq1mkfnzxrearmcz mysql]# ll
total 432
drwxr-xr-x 2 mysql mysql 4096 Mar 27 05:53 bin
drwxr-xr-x 2 mysql mysql 4096 Jun 3 11:55 data
drwxr-xr-x 2 mysql mysql 4096 Mar 27 05:53 docs
drwxr-xr-x 3 mysql mysql 4096 Mar 27 05:53 include
drwxr-xr-x 6 mysql mysql 4096 Mar 27 05:53 lib
-rw-r--r-- 1 mysql mysql 404604 Mar 26 21:31 LICENSE
drwxr-xr-x 4 mysql mysql 4096 Mar 27 05:53 man
-rw-r--r-- 1 mysql mysql 687 Mar 26 21:31 README
drwxr-xr-x 28 mysql mysql 4096 Mar 27 05:53 share
drwxr-xr-x 2 mysql mysql 4096 Mar 27 05:53 support-files
[root@izwz90piq1mkfnzxrearmcz mysql]#
初始化mysqld 生成初始化密码
[root@izwz90piq1mkfnzxrearmcz mysql]# ./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2020-06-03T04:23:26.166386Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.20) initializing of server in progress as process 8806
2020-06-03T04:23:26.268941Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-06-03T04:23:29.251051Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-06-03T04:23:31.541307Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wxrf!x.#o79Q
[root@izwz90piq1mkfnzxrearmcz mysql]#
root@localhost: wxrf!x.#o79Q wxrf!x.#o79Q是初始密码
设置开机启动
复制mysql.server脚本到资源目录,并赋予执行权限:
[root@izwz90piq1mkfnzxrearmcz mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@izwz90piq1mkfnzxrearmcz mysql]# chmod +x /etc/init.d/mysqld
[root@izwz90piq1mkfnzxrearmcz mysql]#
将 mysqld 服务加入到系统服务并检测是否生效:
[root@izwz90piq1mkfnzxrearmcz mysql]# chkconfig --add mysqld
[root@izwz90piq1mkfnzxrearmcz mysql]# chkconfig --list mysqld
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@izwz90piq1mkfnzxrearmcz mysql]#
以上信息为生效!
启动mysqld:
[root@izwz90piq1mkfnzxrearmcz mysql]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/izwz90piq1mkfnzxrearmcz.err'.
.. [ OK ]
[root@izwz90piq1mkfnzxrearmcz mysql]#
配置环境变量
打开/etc/profile配置文件,添加如下内容:
vi的工作模式:
1. 命令行模式:用光标在字符之间来回移动,进行删除、复制、移动字符等操作,按【i】或【a】进入插入模式,按【:】(冒号)进入末行模式
2. 插入模式:输入你要编辑的内容,按【ESC】返回命令行模式,按【:】(冒号)进入末行模式
3. 末行模式:保存文输入保存命令件或退出vi,输入:【wq】存盘并退出vi,输入【q!】不保存强制退出vi,输入【w:filename】,将文件保存为制定的文件名
[root@izwz90piq1mkfnzxrearmcz mysql]# vi /etc/profile
#mysql环境变量
PATH=$PATH:/usr/local/env/mysql/mysql/bin
export PATH
执行命令使其profile配置文件生效:
[root@izwz90piq1mkfnzxrearmcz mysql]# source /etc/profile
[root@izwz90piq1mkfnzxrearmcz mysql]#
查看是否配置成功,如下就是配置成功了。
[root@izwz90piq1mkfnzxrearmcz mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@izwz90piq1mkfnzxrearmcz mysql]#
登录mysql(输入密码,一下就是登录成功了)
[root@izwz90piq1mkfnzxrearmcz mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.20
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
修改登录密码(如下修改密码成功):
mysql> ALTER USER 'root'@'localhost' identified by '123456' ;
Query OK, 0 rows affected (0.01 sec)
mysql>
开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
退出登录
mysql> exit;
Bye
[root@izwz90piq1mkfnzxrearmcz mysql]#
重启mysql服务:
[root@izwz90piq1mkfnzxrearmcz mysql]# service mysqld start
Starting MySQL [ OK ]
[root@izwz90piq1mkfnzxrearmcz mysql]# 2020-06-03T04:55:07.063036Z mysqld_safe A mysqld process already exists
[root@izwz90piq1mkfnzxrearmcz mysql]#
远程连接不上
1. 本地防火墙关了
2.远程服务器的防火墙问题。远程登陆服务器(我用root用户登录的),检查防火墙状态
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl status firewalld #检查防火墙状态
3. vi /etc/sysconfig/iptables 打开了网络配置
果然被关闭了 把DROP改为ACCEPT后 保存退出
service iptables restart —-再重启防火墙 即可.
4. 阿里云服务器 => 网络与安全 => 安全组
添加到对应的服务器