1、下载解压版mysql安装包

https://dev.mysql.com/downloads/mysql/


2、上传解压包到/usr/local/src目录


3、查看吸引已安装的组件 

yum grouplist


4、安装依赖

yum groupinstall Development Tools -yum


5、解压mysql 

cd /usr/local/src
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql-5


6、创建运行mysql的与用户

useradd -u 5050 -s /sbin/nologin -M mysql


7、设置权限(/usr/local/mysql/)这个目录是刚才解压的目的目录

chown -R mysql.mysql /usr/local/mysql/


8、建立数据库存储目录 /data/mysqldata目录

mkdir -p /data/mysqldata


9、设置数据库存储目录的用户权限为mysql

chown -R mysql.mysql /data/mysqldata/


10、初始化数据库(这个地方和老版本的mysql初始化数据库不相同)

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata


没有任何意外的话,能安装成功,会产生一大堆初始化日志和安装成功提示,会给mysql的
root@localhost用户设置1个临时生成的随机密码;
会在/data/mysqldata/ 目录下产生日志文件和数据目录


11、建立启动脚本并设置启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 3 mysqld on


12、设置命令路径

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile


13、设置/etc/my.cnf 配置文件

cat > /etc/my.cnf <<EOF
[mysqld]
datadir=/data/mysqldata
socket=/tmp/mysql.lock
symbolic-links=0
skip_name_resolve=on
skip-grant-tables

[mysqld_safe]
log-error=/data/mysqldata/mysql-err.log
pid-file=/data/mysqldata/mysql.pid

[client]
port=3306
socket=/tmp/mysql.lock
EOF


14、启动mysql服务 2中方式的示例: 特别注意,在启动mysql
前,需要设置my.cnf文件,
第一种方式

/etc/init.d/mysqld start


第二种方式
 

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql &

16、mysql 5.7之后版本在初始化之后会给mysql的root@localhost用户设置一个临时的随机密码,最好是修改掉
方法一:使用 mysql -e 直接修改

mysql -e 'update mysql.user set authentication_string=password("root") where user="root";'


方法二:先登录到mysql 

update mysql.user set authentication_string=password("root");
flush privileges;

17/退出mysql命令终端,修改my.cnf ,取消skip-grant-tables选项
重启mysql服务 之后再登录就需要密码登录

mysql -uroot -p


18、再次修改mysql数据库的root@localhost用户密码

alter user 'root'@'localhost' identified by '123456';

19、创建新的管理员用户 root@'%' ,这个root可以通过远程
设备登录,并且这个用户可以创建新的用户的操作如下:
 

create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%'  identified by '123456';
update mysql.user set Grant_priv='Y' where user='root' and Host='%';