1.官网下载 MySQL
2.准备阶段
tar zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
#解压之后,重命名文件夹名称
mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
#创建mysql用户组
groupadd mysql
useradd -r -g mysql mysql
5.开始安装,编辑/etc/my.cnf
[mysqld]
#mysql安装路径根据自己的来
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
skip-name-resolve
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.pid
!includedir /etc/my.cnf.d
6.进入mysql安装目录
mkdir data
#修改当前目录拥有者为 mysql 用户
chown -R mysql:mysql ./
#初始化 mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#注意初始化之后 会产生一个root密码,最好报存下后面登录要使用一次,例如
A temporary password is generated for root@localhost: 4Slz.Sqa_0F/
(我这个密码有点奇葩,一直以为没有后面的反斜杠,其实要有的)
7.设置开机启动
#进入mysql安装目录
cp ./support-files/mysql.server /etc/init.d/mysql
#赋权
chmod +x /etc/init.d/mysql
#加入系统服务
chkconfig --add mysqld
#环境变量配置,编辑/etc/profile,添加
PATH = $PATH:/usr/local/mysql/bin
export PATH
#重新加载文件
source /etc/profile
#启动mysql服务
service mysql start
#查看服务
service mysql status
启动状态正常了再考虑下一步登录
8.常见问题
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决过程:mysql.sock路径只有在/etc/my.cnf文件中设置过,这里提示报错,因此把my.cnf中的socket路径修改下,修改成报错提示的路径,然后重启mysql
Access denied for user 'root'@'localhost' (using password: YES)
解决过程:mysql 启动状态正常的情况下,本机执行mysql -u -p 登录报错。其实就是第一次执行mysql -uroot -p 的时候,输入的密码和初始化的 时候 返回给的密码不一致造成的。输入一直之后,进行修改密码
update user set password=PASSWORD(‘password’) where User=‘root’
9.通常情况下会开着防火墙
#firewall
开放端口 80 举例
firewall-cmd --permanent --add-port=3306/tcp
执行成功之后,重启防火墙
firewall-cmd --reload
#iptables中
vim /etc/sysconfig/iptables
#端口号 80 举例
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
#保存退出
service iptables restart
10.添加远程连接权限
服务器登录mysql
然后执行:
update user set host='%' where host='localhost' and user='root';
flush privileges;
完成之后,即可远程连接