centos7安装mysql5.7.11

安装必要的组件
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel
 

 碰到这种,输入y即可

下载mysql 
cd /
wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

 
cd /usr/local/
解压   tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 
重命名  mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql 

 

进入安装文件夹下的support-files 
cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf   
将mysql配置文件拷贝到etc下,提示文件已经存在输入yes

vi /etc/my.cnf 
编辑配置文件
添加在[mysqld]下方即可
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4

为避免登录时出现提示:mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
需要在/etc/my.cnf文件中禁用或删除掉sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
复制mysql.server 到/etc/init.d/  目录下【目的想实现开机自动执行效果】
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

vi /etc/init.d/mysql
修改如下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
创建Linux新用户
groupadd mysql #建立一个mysql的组
useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组
passwd mysql (mysql123) #给mysql用户设置一个密码
chown -R mysql:mysql /usr/local/mysql/ 给目录/usr/local/mysql 更改拥有者 
初始化 mysql 的数据库
进入mysql的bin
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记录生成的密码(参考下图选中部分)
给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动mysql(为了不让进程卡主,可在启动mysql的命令后加上&代表此进程在后台运行)
./mysqld_safe --user=mysql &

查看进程
ps -ef|grep mysql
保证在bin目录下
cd /usr/local/mysql/bin/
./mysql -uroot -p (输入临时密码)
./mysql -uroot -p -ou_UC0-j=f* (输入临时密码)
修改密码
set password=password('/* RZXrzx1218*/'); 

这里我设置了密码,请自行更换

授权远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'RZXrzx1218' WITH GRANT OPTION;

这里的密码请自行替换

use mysql;  // 进入数据库
select host,user from user; 【多出1条远程登录用户记录】
执行刷新 
mysql>flush privileges; 

在Linux命令行中将3306端口打开例外
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
firewall-cmd --zone=public --add-port=3306/tcp --permanent 重启后不失效
firewall-cmd --reload

这里我直接关闭了防火墙,不需要设置,如需要请自行设置

设置开机自启动
添加服务mysql
chkconfig --add mysql
设置mysql服务为自动
chkconfig mysql on
 
重启查看进程
ps -ef|grep mysql

将mysql添加到环境变量
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin
export PATH

执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
source /etc/profile或 ./profile
echo $PATH
 
忘记mysql密码时修改密码
1.修改MySQL的登录设置:
vim /etc/my.cnf
在[mysqld]的段中加上一句:
skip-grant-tables
2.重新启动mysql
service mysql restart
3.登录并修改MySQL的root密码
 use mysql;
update mysql.user set authentication_string=password('RZXrzx1218') where user='root'; 

flush privileges;
quit

4.将MySQL的登录设置修改回来
vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables注释
保存并且退出vim
5.重新启动mysql
service mysql restart

 

 密码修改成功

 
posted @ 2021-06-18 15:13  test_yu  阅读(137)  评论(0编辑  收藏  举报