为什么一定要手动安装MySQL那,使用系统的yum -y install mysql-server 他不香吗,但是默认安装的版本是(mysql-5.1.73-8.e16_8.x86_64)由于版本太低了好多等西都不能用,所以我今天给大家分享一下手动安装MySQL5.7.17(建议收藏)
一、准备工作
下载安装包:
方式一、点击去官网去下载
方式二、使用Linux下载wget进行下载我这里提供的是MySQL5.7.17
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
如果是在windows上下载的需要将下载好的压缩包上传到Linux上。
系统操作目录:
下载包地址:/export/sort
解压地址:/export/server
数据目录: /export/server/mysql-5.7.17/data
解压 :
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C ../server
二、修改配置
2.1创建MySQL的用户
检查MySQL是否有用户:cat /etc/group|grep mysql
创建MySQL用户和用户组:
groupadd mysql
useradd -r -g mysql mysql
2.2 将MySQL修改下权限
chown -R mysql:mysql /export/server/mysql-5.7.17/
2.3 配置MySQL服务
cp /export/server/mysql-5.7.17/support-files/mysql.server /etc/init.d/mysql
2.4 配置my.cnf文件
[mysqld]
#设置mysql的安装目录
basedir = /export/server/mysql-5.7.17
#设置mysql数据库的数据存放目录
datadir = /export/server/mysql-5.7.17/data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /export/server/mysql-5.7.17/data/mysqld.log
pid-file = /export/server/mysql-5.7.17/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2.5 初始化MySQL
./bin/mysqld --initialize --user=mysql --basedir=/export/server/mysql-5.7.17/ --datadir=//export/server/mysql-5.7.17/data/
2.6 查看生产的临时密码
查看 /export/server/mysql-5.7.17/data/mysqld.log
三、启动MySQL
service mysqld start
3.1 进行MySQL进行修改密码
mysql -uroot -p Jgth7g4n09?E
进行修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
添加MySQL的远程
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
mysql> flush privileges;
重新启动MySQL
service mysqld restart
四、全局启动MySQL(有选择)
在 /etc/profile.d/ 创建一个MySQL.sh
export MYSQL_HOME=/export/server/mysql-5.7.17
export PATH=$PATH:$MYSQL_HOME/bin
修改完成后:source /etc/profile
五、如果是Linux是Centos8版本需要以下操作(有选择)
1、查看有那个端口可以进行外部访问
firewall-cmd --list-ports
2、将MySQL端口添加进行外部访问
firewall-cmd --add-port=3306/tcp --permanent