前提
服务器:CentOS 7.3
ssh连接工具:finalshell
MySQL环境:MySQL5.7.26
查看服务器上是否有其他东西,有就删除
1、自带数据库
2、以前用户组
1、下载
(1)finalshell
链接:https://pan.baidu.com/s/1_PLpvBAd1-arpezkSU5wrQ
提取码:du9z
(2)MySQL
我下载的是通用版本:mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
2、上传
把下载好的压缩包上传到 /usr/local 下
3、解压
进入 /usr/local 目录:cd /usr/local
解压到当前目录:tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
改名:mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
注释:不想改名也可以,但是要为mysql-5.7.26-linux-glibc2.12-x86_64安装目录创建软链接:ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql
4、为centos添加mysql用户组和mysql用户
添加用户组:groupadd mysql
添加用户:useradd -r -g mysql -s /bin/false mysql
(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
更改所属的用户命令:chown -R mysql /usr/local/mysql
更改所属的组户命令:chgrp -R mysql /usr/local/mysql
默认的是1000
5、配置环境
1、配置MySQL路径
将mysql进程放入系统进程中
把mysql目录下拷贝mysql.server文件到 /etc/init.d/mysqld
执行命令:cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改mysqld的内容,添加完整路径:
进入文件:vi /etc/init.d/mysqld
找到 basedir 和 datadir,添加路径:
basedir='/usr/local/mysql'
datadir='/usr/local/mysql/data'
有的教程是把 /etc/my.cnf 删除掉,以后在建(这个我觉得最稳妥,官方都建议先删除掉,MySQL能够运行成功)
我选择是 /etc/my.cnf 修改,修改为最简单,以后要优化再改就好了
[mysql]
# 设置客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置服务端默认字符集
character-set-server=utf8
# 基本信息
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
2、配置环境
打开环境配置文件:vi /etc/profile
移到文件末尾,添加路径:
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
使文件生效:source /etc/profile
6、安装数据库
先在 /usr/local/mysql 创建一个 data 文件夹:mkdir data
输入:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
第一次安装一般会报错,因为缺少一个文件,把缺少文件下载就可以了。
输入:
yum install libaio*
,然后输入 y 就可以。
再安装就会成功了,记住现在的密码。
7、开启mysql服务。
输入:/usr/local/mysql/support-files/mysql.server start
如下图,服务开启成功。
有时候想重启,就输入:service mysqld restart
8、使用随机密码登录
输入:mysql -u root -p
然后输入刚才得到的密码,登录。
9、数据库操作
1、修改密码(修改成123456)
alter user 'root'@'localhost' identified by '123456';
2、允许远程连接
(1)如果没有开启,就去阿里云服务控制台添加安全策略组(也只能用这个打开,阿里云控制台的权限最高),开放3306端口。
(2)不是阿里云的直接用防火墙开放端口也是一样的。
永久开放3306端口:firewall-cmd --zone= --add-port=3306/tcp --permanent
重启防火墙:firewall-cmd --reload
(1)选择数据库
use mysql
(2)修改用户
update user set user.Host='%' where user.User='root';
(3)查看修改后的值:
select user,host from user;
(4)刷新权限
flush privileges;
(5)Navicat 远程连接,并创建数据库,服务器查看。
总结
主要是 my.cnf 坑人(创建时最好先删除)。
还有就是要把服务器上以前相关配置的都要先删除掉。