1.yum安装Mysql5.7
1.1 下载yum源
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装rpm包
yum -y install mysql57-community-release-el7-10.noarch.rpm
1.2 安装Mysql服务
安装成功的话,/etc/yum.repos.d/会多两个mysql文件
ls /etc/yum.repos.d/
显示如下
mysql-community-source.repo
mysql-community.repo
查看mysql57的安装源是否可用,如不可用请自行修改配置文件/etc/yum.repos.d/mysql-community.repo使mysql57下面的enable=1
yum repolist enabled | grep mysql
mysql-connectors-community MySQL Connectors Community 74
mysql-tools-community MySQL Tools Community 74
mysql57-community MySQL 5.7 Community Server 307
安装mysql服务
yum install mysql-community-server --nogpgcheck
1.3 Mysql常用配置
启动mysql服务
systemctl start mysqld.service
查看mysql运行状态
systemctl status mysqld.service
当看到有active (running)说明启动了。
验证mysql是否成功,与MariaDB不同的是,mysql会随机生成一个初始密码。默认在/var/log/mysqld.log里,通过以下命令可以查看初始密码,冒号后面的就是。
grep 'temporary password' /var/log/mysqld.log
登陆并修改密码
mysql -u root -p
输入刚刚得到的初始密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; #修改密码为root
如果不行,使用下面命令修改密码
update user set authentication_string=password('新密码') where user='root';
刷新配置
flush privileges;
如果出现初始密码一直报错,登录不进去,可按照此链接修改,亲测可用
https://www.html.cn/softprog/database/39488.html
OpenEuler主要文件位置:
/etc/my.cnf #这是mysql的主配置文件
/var/lib/mysql #mysql数据库的数据库文件存放位置
/var/log #mysql数据库的日志输出存放位置
2. 源码包安装Mysql
前面的安装步骤对比起来稍显简单。但是前提是需要网络环境很支持的状态下。而且yum安装的软件,目录都比较乱,需要记好多目录地址。管理起来不是很方便。源码包方式我个人比较推荐。
2.1 下载源码包
下载安装包,用xftp传上到服务器上
2.2 解压验证
解压到自定义目录下(/usr/local下)
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local
切换到/usr/local/
cd /usr/local
给mysql安装目录创建软链接
ln -s mysql-5.7.24-linux-glibc2.12-x86_64 mysql
给Centos添加用户组和用户(只有所有权,没有登录权限)
groupadd mysql #添加用户组
useradd -r -g mysql -s /bin/false mysql #添加用户
进入到mysql目录下,把权限给新建的mysql用户
cd mysql/ #切换目录
chown -R mysql:mysql ./ #授权给mysql
2.3 编译安装
配置安装位置
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
2.4 常用配置
安装目录下
./support-files/mysql.server start #启动服务
cp support-files/mysql.server /etc/init.d/mysqld #把mysql进程放到service目录里
service mysqld restart #测试重启服务
用刚刚的默认密码,登陆,修改密码
ln -s /usr/local/mysql/bin/mysql /usr/bin #创建软链接,相当于一个快捷方式,哪都可以登录
mysql -u root -p #之后输入密码
alter user 'root'@'localhost' identified by 'root'; #修改密码为root
3. 设置外网访问
给所有ip的root用户授权,在mysql命令行下(方法一)
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges; #刷新配置
给所有root用户和使用此密码的授权,命令行下(方法二)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges; #刷新配置
开放3306端口(Centos7下),其他版本好像防火墙是iptables
firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加端口
firewall-cmd --reload #重载
firewall-cmd --zone=public --query-port=3306/tcp #查看