mysql 安装

1.下载mysql压缩文件,地址

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

2.将压缩文件上传到服务器home文件夹下

3.创建文件夹

命令:mkdir /usr/local/mysql

4.解压mysql到此文件夹

命令:tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

5.创建一个mysql用户和组()

命令:groupadd mysql

useradd -r -g mysql -s /bin/false mysql

目的:

    让MySQL运行的时候使用一个独立的账号

如果MySQL被黑了那么开始拿到的权限就是那个创建的账号而不是默认的root

我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql

在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql

这样就保证了mysql服务的独立性,即使mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全

 

6.将位置更改为MySQL安装目录的顶级目录,通常是 /usr/local/mysql:

chown -R mysql:mysql ./

7.初始化数据目录,如果没有data,可以自己创建。(5.7版本和5.6初始化命令不一样,如果没有support-files/my_default.cnf,可以到网上找一份),创建sock指定的目录,如果没有目录的话。

命令:

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

 

8.复制配置文件

cp -a ./support-files/my_default.cnf /etc/my.cnf   (my-default.cnf这个文件可能没有)

cp -a ./support-files/mysql.server /etc/init.d/mysqld

9.启动

bin/mysqld_safe --user=mysql

10.如果需要远程连接,需要关闭防火前和需要赋权限

systemctl stop firewalld
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 

遇到的问题

1.

mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
170408 09:53:13 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
170408 09:53:13 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended

修改my.cnf:

添加log-error=/usr/local/mysql/logs/mysql_err.log

并添加mysql_err.log文件,重启找原因,发现是内存太小导致启动失败

2. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

默认mysql的链接是在/tmp/mysql.sock,当我们在my.cnf中定义了后,可以软连接过去

find / -name mysql.sock

ln -s /usr/local/mysql/mysqld/mysql.sock /tmp/mysql.sock

3.

You must reset your password using ALTER USER statement before executing this statement.

需要修改密码:

SET PASSWORD = PASSWORD('your new password');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

flush privileges;

4 当时网上copy my_default.cnf文件时,复制了一个

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

导致mysql 一直起不来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值