linux系统中安装MySQL数据库的三种方式
(一)使用yum安装mysql数据库 首先配置网络yum仓库为安装软件做准备 1.备份源文件:
cd/etc/yum/repos.d/ mkdir bak mv *.repo bak
2.下载阿里云yum源文件:
wget -O /etc/yum.repos.d/centos.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.清空并重建且显示yum仓库:
yum clean all (清空)
yum makecache(重建)
yum repolist(显示)。
创建目录soft:
mkdir /soft
切换到目录soft:
cd /soft
下载MYSQL资源文件:
wget -i -C http://dev.mysql.com/get/mysql57-community-release -el7 -10.noarch.rpm 安装mysq|数据库资源库rpm yum install -y mysql57-community-release-el7-10.noarch.rpm 安装mysq|服务器端程序 yum install -y mysql-community-server 在安装服务器端时如果出现没有任何匹配错误是应为缺少文件,需要安装关系软件(依次执行下面两行命令即可) [root@localhost soft]#yum module disable mysql [root@localhost soft]#yum install mysql-community-server 数据库安装完成后,登录数据库进行查看; [root@localhost ~]# mysql -u root –p(登陆数据库),more /var/log/mysqld.log(查看日志文件初始密码) 修改密码:[root@localhost ~]# alter user 'root'@'localhost' identified by 'Ww@123456';(首字母必须大写,且包含大小写字母,数字和特殊字符) 因为修改密码不符合导致错误的解决方法(密码太短) 修改mysql的策略 mysql5.7版本及以下 [root@localhost ~]# set global validate_password_policy=0; [root@localhost ~]# set global validate_password_length=1; msyql8.0版本 set global validate_password.policy=0set global validate_password.length=6 设置完成后再次修改即可 tips 查询源是否安装成功 yum search mysql 查看mysql服务是否启动 ps -ef | grep mysql 停止 开启mysql服务 service mysqld stop service mysqld start 重启服务:service mysqld restart 查看默认密码:cat /var/log/mysqld.log | grep password 查看防火墙是否开启:ps -ef | grep firewalld 关闭防火墙:service firewalld stop
(二) 使用rpm安装数据库 1.通过网址下载后通过ftp工具上传安装包到虚拟机,或者用wget下载创建mysql目录用来存放数据库。解压安装包:tar -xvf mysql(按tab键自动补充代码)到mysql目录中回车。
卸载mariadb相关软件包(linux自带的数据库):yum remove mariadb-libs 2.按照顺序安装rpm包:
rpm -ivh:mysql-community-common
rpm -ivh:mysql-community-libs
rpm -ivh:mysql-community-client
rpm -ivh:mysql-community-server
3.在安装mysql-community-server-5.7.33-1.el7.x86_64rpm软件包时,可能会出现缺少perl和net-tools 这两文件库,执行下面两行命令即可解决: [root@localhost mysql]# yum –y install perl.x86_64 [root@localhost mysql]# yum –y install net-tools 4.启动数据库,并将数据库设置为开机启动 [root@localhost mysql]# systemctl start mysqld [root@localhost mysql]# systemctl enable mysqld 5.检查服务是否已启动 [root@localhost mysql]# systemctl is-active mysqld.service 查找初始随机密码 [root@localhost mysql]# grep password /var/log/mysqld.log 6.使用初始密码登录并修改密码: [root@localhost mysql]#mysql –u root –p Enter password: 此处输入初始密码,输入的内容不会显示出来 ,也可以直接复制 mysql> alter user ‘root’@‘localhost’ identified by ‘此处为要更改的新密码';tis!!! 如果查询默认密码找不到log文件的解决方法 1,修改my.cnf文件:vim /etc/my.cnf 在其中添加:[mysqld] skip -grant -tables 2重启mysql服务 service mysqld restart 3用户登录:mysql -uroot -p (密码为空,直接点击回车进入数据库) 建议用下面这种方式找临时密码 1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这) rm -rf /var/lib/mysql 2.重启mysqld服务 systemctl restart mysqld 3.再去找临时密码 grep password /var/log/mysqld.log
(三)使用离线包安装数据库 1.去官网下载离线安装包,或使用wget直接下载,然后查看是否已有mysql数据库
rpm -qa | grep mysql 解压下载的文件:[root@localhost ~]# tar -xzvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz 将解压的文件移动到/usr/local目录下并重命名为mysql,切换到/usr/local/mysql目录,并 在mysql目录下创建data目录 [root@localhost ~]# mv mysql-5.7.33-linux-glibc2.12-x86_64 /usr/local/mysql [root@localhost ~]#cd /usr/local/mysql [root@localhost mysql]# mkdir data 创建mysql用户:[root@localhost ~]# useradd mysql 更换mysql目录文件的属主、属组及文件权限(755); [root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql [root@localhost mysql]# chmod -R 755 /usr/local/mysql 切换到bin目录下:cd /bin 执行数据库初始化:./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize(在里面查看初始密码) 开启mysql服务 [root@localhost mysql]# ./support-files/mysql.server start 将mysql进程放入系统进程中。 [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld 添加配置文件信息:vim /etc/my.cnf(工作中可以网上搜索配置内容) 重新启动mysql服务:[root@localhost ~]# service mysqld restart 设置mysql环境变量:vim /etc/profile 进入后写入:export PATH=$PATH:/usr/local/mysql/bin
刷新环境变量:[root@localhost ~]# source /etc/profile 登陆数据库修改密码且刷新权限: [root@localhost ~]# mysql –u root –p 输入例登录密码:初始密码 mysql>alter user ‘root’@’localhost’ identified by ‘要设置的新密码’; mysql>flush privileges; (刷新权限) 为mysql数据库添加远程登录 mysql>grant all privileges on *.* to ‘root用户名’@’%’ identified by ‘root(用户密码)’ with grant option; mysql>exit; (退出mysql登录)
使用Navicat远程连接无权限的解决方法 1.mysql -uroot -p 2.use mysql; 3.update user set host = '%' where user = 'root'; 4.flush privileges; 5.select user,host from user;