linux下mysql的安装(二进制源码安装)

mysql的安装方法很多。这里向大家介绍一下本人常用的安装方式,通过下载编译好的文件进行安装

mysql下载地址

1
https://dev.mysql.com/downloads/mysql/5.6.html

mysql的安装

  • 创建mysql用户和用户
1
2
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
  • 创建mysql安装目录
1
2
3
mkdir /data/mysql/logs -p   #mysql日志存放目录
mkdr /data/mysql/tmp -p #mysql临时文件存放目录
mkdir /data/mysql/data -p #mysql数据存放目录
  • 解压mysql文件并初始化安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#解压mysql二进制包并移动到安装目录/usr/local/mysql
tar zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql
\\cp -r my.cnf /etc/my.cnf
#对文件夹进行授权操作
chown -R mysql.mysql /data/mysql
#初始化mysql
/usr/local/mysql/scripts/mysql\_install\_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --defaults-file=/etc/my.cnf
#mysql启动脚本并设置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
#创建mysql软链接,也可设置环境变量
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

mysql设置密码

初次登录修改mysql@localhosts密码(mysql5.7以上)

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

对于5.6的初始root密码除了上述方式也可使用下面的方式

初始安装完成后的mysql是没有密码的,可根据提示进行密码设置,也可以使用以下命令对mysql进行密码设置。

1
2
3
#授权root账号通过localhost连接mysql
mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;"
flush privileges;

如果是centos7则添加mysql启动脚本

1 创建mysqld.service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQLD
SourcePath=/etc/init.d/mysqld
# 关机前操作
Before=shutdown.target
[Service]
# 此用户必须存在,即为启动mysql的用户
User=mysql
Type=forking
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
[Install]
WantedBy=multi-user.target

2 重新加载一个服务的配置文件

1
root@localhost:~# systemctl daemon-reload

3 使用systemctl启动服务

1
root@localhost:~# systemctl start mysqld.service

mysql的安装很简单。到此安装工作就已经完成啦

附上脚本mysql_install.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
tar zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql
\\cp -r my.cnf /etc/my.cnf
mkdir -p /data/mysql/tmp
mkdir -p /data/mysql/logs
chown -R mysql.mysql /data/mysql
/usr/local/mysql/scripts/mysql\_install\_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --defaults-file=/etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;"
#flush privileges;