1、下载
MySQL官网:MySQL下载
2、上传
所需工具
- WinSCP : 文件夹拖拽上传
- Xshell : 远程黑窗口
3、正文开始
(1)检查是否已经安装了MySQL
,如果有就先卸载
rpm -qa | grep mysql
如果有类似于 mysql-libs-5.XXXXXXXXX
的,直接删除
rpm -e --nodeps mysql-libs-5.XXXXXXXXX
(2)检查是否有mariadb
数据库,如果有就先卸载
rpm -qa | grep mariadb
如果有类似于 mariadb -XXXXXXX
的,直接删除
rpm -e --nodeps mariadb -XXXXXXX`
(3)下载MySQL
检查自己Linux,看是64位还是32位,然后去官网下载对应版本,下载方法看最上面
getconf LONG_BIT
(4)从Windows
上传MySQL到Linux
上传方法借助
WinSCP
工具,看上面
示例:上传到/usr/local
目录下
(5)解压
cd /usr/local
tar -zvxf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
(6)重命名
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql
(7)在mysql安装目录
下创建data
文件夹
cd mysql
mkdir data
(8)检查mysql组
和用户
是否存在,若不存在,则创建
- 存在的情况下
cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash
- 不存在的情况下就创建
groupadd mysql
useradd -r -g mysql mysql
- 将
/usr/local/mysql
的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
(9)在/usr/local/mysql/support-files
目录下创建my-default.cnf
cd /usr/local/mysql/support-files
vi my-default.cnf
- 将下面内容复制到该文件中
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
- 完成后,将该文件复制到
/etc/
目录下,命名为my.cnf
cd /usr/local/mysql/support-files/
cp ./my-default.cnf /etc/my.cnf
(10)初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
- 查看初始化日志
cat /usr/local/mysql/data/mysqld.log
- 会有这样的信息,最后的就是进入数据库的密码,这个先记下
(11)把服务启动脚背放到开机初始化目录
cd /usr/local/mysql/support-files/
cp ./mysql.server /etc/init.d/mysql
(12)启动MySQL服务
service mysql start
查看MySQL进程
ps -ef | grep mysql
(13)登录mysql
- 密码是上面让记住的那个(第10条)
cd /usr/local/mysql/bin
./mysql -u root -p
(14)修改密码
mysql>set password=password('我是密码');
mysql>grant all privileges on *.* to root@'%' identified by 'root';
mysql>flush privileges;
(15)添加远程访问权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '我是密码' WITH GRANT OPTION;
mysql> flush privileges;
- 如果报错,看一下是不是
root
用户的host
已经是%
了,是的话就不用管了,刷新一下就行了flush privileges;
mysql> select host,user from user;
(16)重启MySQL(退出mysql后重启)
mysql> exit
Bye
[root@iZ2ze6hjzhk /]service mysql restart
(17)MySQL命令
- 启动MySQL服务
[root@iZ2ze6hjzhk /] service mysql stop
- 关闭MySQL服务
[root@iZ2ze6hjzhk /] service mysql start
- 重启MySQL服务
[root@iZ2ze6hjzhk /] service mysql restart