在线安装
安装wget
yum -y install wget
注:如果是服务器,该命令可能无效,则使用如下方法
wget源码下载地址:https://mirrors.ustc.edu.cn/gnu/wget。选择一个下载下来。
#创建wget安装路径
[root@localhost /]# mkdir wget
#上传下载好的wget安装包
[root@localhost /]# cd wget
[root@localhost wget]#tar -zxvf wget-latest.tar.gz
[root@localhost wget]#wget-1.20.3
[root@localhost wget]#cd wget-1.20.3
[root@localhost wget-1.20.3]# ./configure --with-ssl=openssl
[root@localhost wget-1.20.3]#make
[root@localhost wget-1.20.3]# make install
安装mysql
#创建mysql安装目录
[root@localhost wget-1.20.3]# cd /
[root@localhost /]# mkdir data
[root@localhost /]# cd data
[root@localhost data]# mkdir mysql
[root@localhost data]# cd mysql
#安装MySQL官方的Yum Repository
[root@localhost mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
#下载rpm包
[root@localhost mysql]# yum -y install mysql57-community-release-el7-10.noarch.rpm
#安装MySQL服务
[root@localhost mysql]# yum -y install mysql-community-server
#启动mysql服务
[root@localhost mysql]# systemctl start mysqld.service
#查看mysql运行状态
[root@localhost mysql]# systemctl status mysqld.service
登录mysql
注:安装完成后默认有一个root用户,初始密码已经设置好,我们需要获得这个初始密码登录后再对其进行修改;为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。 并且只有启动过一次mysql才可以查看临时密码。
#查看初始密码,冒号后面的字符就是密码
[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log
#使用临时密码登录
[root@localhost mysql]# mysql -uroot -p
注:在使用临时密码登录后,只有立刻设定新的密码后,才能对数据库进行操作。
离线安装
删除多余的依赖
#查看是否存在mariadb
[root@localhost ~]# rpm -qa|grep mariadb
#不检查依赖删除
[root@localhost ~]# rpm -e --nodeps '上一命令的结果'
#查看是否存在mysql
[root@localhost ~]# rpm -qa|grep mysql
#不检查依赖删除
[root@localhost ~]# rpm -e --nodeps '上一命令的结果'
#删除"/etc/mysql.cnf",这个是"mariadb"的配制信息
[root@localhost ~]# rm -rf /etc/mysql.cnf
添加mysql组合mysql用户
#创建mysql组
[root@localhost ~]# groupadd mysql
#创建mysql用户,并且分配到mysql组中
[root@localhost ~]# useradd -g mysql mysql
#设置mysql用户密码(输入密码,然后确认密码,不用管提示)
[root@localhost ~]# passwd mysql
上传安装包
#上传安装包
[root@localhost ~]# mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
#将安装包解压到"/usr/local/"目录下
[root@localhost ~]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
#将解压的文件名重新命名
[root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
#创建mysql数据存储文件
[root@localhost local]# cd mysql
[root@localhost mysql]# mkdir data
#修改mysql文件所属组合用户
[root@localhost mysql]# cd ../
[root@localhost local]# chown -R mysql:mysql mysql
#初始化mysql
[root@localhost local]# cd mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#将mysql的启动文件复制到"/etc/init.d/mysqld"
[root@localhost local]# cd mysql/support-files
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
#配制mysql的环境变量(追加"export PATH=$PATH:/usr/local/mysql/bin")
[root@localhost support-files]# vi /etc/profile
#刷新配制文件
[root@localhost support-files]# source /etc/profile
#启动mysql
[root@localhost support-files]# service mysqld start
#查看mysql状态
[root@localhost support-files]# service mysqld status
#设置mysql开机自启动
[root@localhost mysql]# chkconfig --add mysqld
#创建mysql配制文件(my.cnf)
[root@localhost mysql]# vi /etc/my.cnf
注:mysql离线安装时,mysql必须解压到"/usr/local/“路径下,并且必须把解压后的文件名称修改成"mysql”,而且还要在"/usr/local/mysql"文件中创建"data"文件夹(用于存储mysql的数据),因为"mysql.server"启动文件中的mysql安装路径就是"/usr/local/mysql",mysql的数据存储路径就是"/usr/local/mysql/data"。
my.cnf
[mysqld]
#默认字符集设定
character_set_server=utf8
#mysql的安装路径
basedir=/usr/local/mysql
#mysql的数据存放路径
datadir=/usr/local/mysql/data
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
登录mysql
#查看临时登录密码
[root@localhost support-files]# cat /root/.mysql_secret
#使用临时密码登录
[root@localhost support-files]# mysql -u root -p
#"TianXia1995!"就是设置的新的登录的密码,
mysql>alter user 'root'@'localhost' identified by 'TianXia1995!';
mysql>set global validate_password_policy=0;
注:如果在设置新密码时出现"ERROR 1819 (HY000): Your password does not satisfy the current policy requirements"错误时,则表明新密码没有满足密码命名规则(密码太简单),可以使用下面命令来设置简单密码。
mysql>set global validate_password_policy=0;
#"123456"就是简单的新密码
mysql>alter user 'root'@'localhost' identified by '123456';
mysql>flush privileges;
临时密码登录报错
若登录不了,则进行以下配置,跳过登录验证;
[root@localhost mysql]# vim /etc/my.cnf
#重启mysql
[root@localhost mysql]# systemctl restart mysqld.service
skip-grant-tables
重新设置新密码
mysql>use mysql;
#"TianXia1995!"就是新密码
mysql>update mysql.user set authentication_string=password('TianXia1995!') where user='root' ;
mysql>flush privileges;
设置远程登录
#"TianXia1995!"就是进行远程登录的密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'TianXia1995!' WITH GRANT OPTION;
mysql>flush privileges;
修改mysql的默认字符集编码
#修改配置文件
[root@localhost mysql]#vi /etc/my.cnf
#重新启动mysql
[root@localhost mysql]# service mysqld restart
#添加如下内容
character_set_server=utf8
mysql常用命令
#启动mysql
[root@localhost mysql]# systemctl start mysqld.service
#查看mysql运行状态
[root@localhost mysql]# systemctl status mysqld.service
#重新启动mysql
[root@localhost mysql]# service mysqld restart
#停止服务
[root@localhost mysql]# systemctl stop mysqld.service
#设置mysql开机自启动
[root@localhost mysql]# chkconfig --add mysqld