安装之前需要确认机器上是否安装过mysql如果已经安装过.需要清理掉.
1.检查是否已经安装过mysql :
rpm -qa | grep mysql
如果环境中有遗留mysql则执行删除命令:`rpm -e --nodeps mysql-xxxxxxxxx`
2.查询遗留的mysql设置或命令,执行两条命令
whereis mysql
find / -name mysql
如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除 :
rm -rf xxx xxx
3、检查mysql用户组和用户是否存在,如果没有,则创建,有的话可以不用添加.
查看是否存在mysql用户的命令:
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
执行命令出现如下内容说明用户组和用户已存在:
就不需要执行添加mysql用户命令.
增加 mysql 用户的命令:
groupadd mysql
useradd -r -g mysql mysql
正式开始安装
1.从官网下载用于Linux的Mysql安装包.两种方法
第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
第二:通过浏览器打开网页,按照图片的执行,点击"DownLoad"
官网地址:https://downloads.mysql.com/archives/community/
3、开始解压、安装
- 进入 cd /usr/local 目录下.然后上传压缩包
- 解压 tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
- 对解压出来的文件重命名 mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
- 进入 /usr/local/mysql 目录创建文件夹
-
#mysql数据存储目录 mkdir data #mysql日志存放目录 mkdir log
- 将指定文件的拥有者改为指定的用户或组
chown -R mysql:mysql ./
- 进入/var/lib目录 cd /var/lib
- 创建mysql目录 mkdir mysql
- 修改权限 chmod 777 mysql
- 修改配置文件 vim /etc/my.cnf 内容如下
[mysql] #mysql客户端默认字符集 default-character-set=utf8 [mysqld] #mysql忽略大小写 lower-case-table-names=1 #设置3306端口 port = 3306 socket=/var/lib/mysql/mysql.sock #设置mysql的安装目录 basedir=/usr/local/mysql #设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data #允许最大连接数 max_connections=200 #最大等待时间 wait_timeout=3153600 #服务端使用的字符集 character-set-server=utf8 #创建新表时将使用的默认存储引擎 default-storage-engine = InnoDB #日志 #允许做大数据包 max_allowed_packet=16M [client] port=3306 socket=/var/lib/mysql/mysql.sock
-
在cd /usr/local/mysql 目录下执行命令初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
-
如果初始化失败,报错信息如下.
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
出现上面的错误信息是缺少numactl,执行下面命令可以解决
yum -y install numactl
再次执行初始化mysql命令
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化mysql密码如上图,记住它!!!
设置开机自启动
- 复制脚本资源到启动目录,在/usr/local/mysql 目录下执行命令
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
- 增加mysql服务控制脚本权限
chmod +x /etc/rc.d/init.d/mysqld
- 将 mysqld 服务加入到系统服务
chkconfig --add mysqld
- 检查mysqld服务是否已经生效
chkconfig --list mysqld
成功出现如下效果
- 启动mysql
service mysqld start
- 登录mysql mysql -uroot -p密码
- 修改初始化密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
- 如果有开启防火墙,就要开启防火墙端口 3306 使其可远程访问,没有请忽略
firewall-cmd --zone=public --add-port=3306/tcp --permanent; firewall-cmd --reload;
- 开启数据库远程连接
CREATE USER 'root'@'%' IDENTIFIED BY '密码'; GRANT ALL ON *.* TO 'root'@'%'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; FLUSH PRIVILEGES;
- 使用navicat连接你的数据库