安装前准备:
系统版本:centos7.0
mysql版本:5.7
压缩包:mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
备注:如果使用浏览器从官网下载慢的话,可以使用迅雷下载,速度会快很多。
安装步骤:
1、解压压缩包 tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
这里我压缩包存放路径在/usr/local,后续操作都是在此路径下。
2、重命名 mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
3、创建data目录,用来存放mysql日志、biglog等文件,data文件夹路径在根目录下
cd / mkdir data cd data/ mkdir mysql |
4、创建mysql用户组及其用户
groupadd mysql |
useradd -r -g mysql mysql |
5、更改mysql目录所属的组和用户。更改权限
chown mysql:mysql -R /data/mysql |
6、配置mysql启动参数,这里只是做简单配置,更多复杂配置如超时时间、心跳时间等不做配置
vi /etc/my.cnf(若存在,先删除) |
[mysqld] server-id=1 bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 #log-bin=/data/mysql/mysql-bin #skip-grant-tables |
7、初始化mysql
cd /usr/local/mysql/bin/ |
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize |
报错: ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory |
解决办法: yum install -y libaio //安装后在初始化就OK了 |
8、查看初始密码,并且复制下来,为后面登录使用
vi /data/mysql/mysql.err |
9、启动mysql ------> service mysqld start
报错: Redirecting to /bin/systemctl start mysqld.service Failed to issue method call: Unit mysqld.service failed to load: No such file or directory. |
解决办法:将mysql.server放置到/etc/init.d/mysql中 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld |
出现Starting MySQL.. SUCCESS! 则说明mysql安装成功 |
10、登录mysql 并且修改密码 mysql -u root -p
报错: -bash: mysql: 未找到命令 |
解决办法: 原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。 首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql 命令:ln -s /usr/local/mysql/bin/mysql /usr/bin |
11、修改初始密码,并刷新
SET PASSWORD = PASSWORD('123456'); (重置初始密码,必须执行,不然没法进行后续操作) |
use mysql(选择数据库) |
update user set host = '%' where user = 'root'; |
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; |
update user set authentication_string=password("123456") where user="root"; 注意:mysql5.7版本表字段中密码字段为authentication_string |
select host, user from user; |
flush privileges; |
12、mysql设置开机自动启动,步骤如下:
1、cd /etc/init.d/ 先进入到该目录下 |
2、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 将服务文件拷贝到init.d下,并重命名为mysql(我的mysql服务在usr/local下) |
3、chmod +x /etc/init.d/mysql 赋予可执行权限 |
4、chkconfig --add mysql 添加服务 |
5、chkconfig --list 显示服务列表 |
6、如果看到mysql的服务,并且3,4,5都是on的话则成功 如果是off,则键入chkconfig --level 345 mysql on |
7、init 6 重启linux系统,发现mysql已经自动启动了。 |