前言 :数据库的安装和使用对于开发者或者测试人员来说,是工作中经常遇到的,虽然安装不是很困难,但是网上步骤花样很多,为了后续工作方便,特总结一份较全的安装指南,适配不同的主机环境。
一、安装前准备,解决冲突
-
卸载系统默认的mysql
检查系统是否已安装MySQL:
[root@XXX-linux opt]# rpm -qa|grep mysql
卸载已安装的版本:
rpm -e --nodeps mysql-libs-5.1.-e16
验证是否卸载成功:
[root@XXX-linux opt]# rpm -qa|grep mysql
-
查询所有Mysql对应的文件夹
[root@XXX-linux opt]# whereis mysql mysql: /usr/lib64/mysql /usr/share/mysql [root@XXX-linux opt]# find / -name mysql /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /usr/share/mysql
删除相关目录和文件:
[root@XXX-linux opt]#rm -rf /usr/lib64/mysql /usr/share/mysql /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /usr/share/mysql
验证是否删除:
[root@XXX-linux opt]# whereis mysql mysql: [root@XXX-linux opt]# find / -name mysql
-
卸载系统默认的mariadb,
[root@XXX-linux mysql]# rpm -qa|grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [root@XXX-linux mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 [root@XXX-linux mysql]# rpm -qa|grep mariadb
-
检查mysql用户组和用户是否存在,若没有需要创建
[root@XXX-linux opt]# cat /etc/group |grep mysql [root@XXX-linux opt]# cat /etc/passwd |grep mysql [root@XXX-linux opt]# groupadd mysql [root@XXX-linux opt]# useradd -r -g mysql mysql
-
从官网下载所需的linux MySQL安装包
官网下载地址:https://dev.mysql.com/downloads/
[root@XXX-linux opt]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-test-5.7.29-linux-glibc2.12-x86_64.tar.gz
二、安装MySQL
yum源安装:
-
添加官方yum源
创建本地yum库文件:
[root@XXX-linux yum.repos.d]# touch /etc/yum.repos.d/mysql-community.repo
编辑修改:
vim mysql-community.repo [mysql56-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
-
安装mysql数据库:
[root@XXX-linux yum.repos.d]# yum install mysql-community-server
这个安装过程需要一些等待时间。
-
启动mysql数据库进程:
[root@XXX-linux yum.repos.d]# systemctl start mysqld [root@XXX-linux yum.repos.d]# ps aux|grep mysql mysql 18966 0.4 0.2 1122100 174168 ? Sl 16:10 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid root 19125 0.0 0.0 112704 976 pts/3 S+ 16:11 0:00 grep --color=auto mysql
-
修改默认root用户及密码:
注:mysql5.7的初始密码是随机生成的,放在了 /var/log/mysqld.log
扫描二维码关注公众号,回复: 11445768 查看本文章[root@XXX-linux yum.repos.d]# cat /var/log/mysqld.log |grep password 2020-05-20T08:10:16.871748Z 1 [Note] A temporary password is generated for root@localhost: h/cb-qkkd8TX
使用刚读到的密码,登入数据库使用命令Alter user 修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
使用新密码重新登陆MySQL
-
5、授权远程访问数据库
mysql> create user 'root'@'%' identified with mysql_native_password by '密码'; mysql> grant all privileges on *.* to 'root'@'%' with grant option; mysql> flush privileges;
-
配置默认编码utf-8
在/etc/my.cnf 配置文件中添加[mysqld]的内容:
character_set_server=utf8 init_connect='SET NAMES utf8'
然后重启mysqld进程即可:
[root@XXX-linux yum.repos.d]# vim /etc/my.cnf [root@XXX-linux yum.repos.d]# systemctl restart mysqld
二进制文件安装
进入到mysql安装包所在地址:
[root@XXX-linux mysql]# ll
total 31728
-rw-r--r-- 1 root root 32487544 Dec 18 21:54 mysql-test-5.7.29-linux-glibc2.12-x86_64.tar.gz
解压缩:
[root@XXX-linux mysql]# tar zxvf mysql-test-5.7.29-linux-glibc2.12-x86_64.tar.gz
解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。
切换目录进入到/usr/local/mysql/下,创建data目录
[root@XXX-linux mysql]# mkdir /usr/local/mysql/data
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
[root@XXX-linux mysql]# chown -R mysql:mysql /usr/local/mysql
[root@XXX-linux mysql]# chown -R 755 /usr/local/mysql
编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)